.auth-container{min-height:100vh;display:flex;justify-content:center;align-items:center;padding:var(--space-lg);position:relative;overflow:hidden;background:linear-gradient(135deg,#1a1a2e,#16213e,#0f3460 50%,#1a1a2e)}.auth-container:before{content:"";position:absolute;top:0;left:0;width:100%;height:100%;background-image:radial-gradient(circle at 20% 80%,rgba(255,140,66,.1) 0%,transparent 50%),radial-gradient(circle at 80% 20%,rgba(37,99,235,.1) 0%,transparent 50%),radial-gradient(circle at 40% 40%,rgba(255,140,66,.05) 0%,transparent 30%),radial-gradient(circle at 60% 60%,rgba(37,99,235,.05) 0%,transparent 30%);z-index:1;pointer-events:none}.auth-container:after{content:"";position:absolute;top:0;left:0;width:100%;height:100%;background-image:radial-gradient(2px 2px at 10% 10%,rgba(255,255,255,.3) 50%,transparent 50%),radial-gradient(2px 2px at 30% 60%,rgba(255,255,255,.2) 50%,transparent 50%),radial-gradient(1px 1px at 50% 30%,rgba(255,255,255,.4) 50%,transparent 50%),radial-gradient(2px 2px at 70% 80%,rgba(255,255,255,.2) 50%,transparent 50%),radial-gradient(1px 1px at 90% 40%,rgba(255,255,255,.3) 50%,transparent 50%),radial-gradient(2px 2px at 15% 90%,rgba(255,255,255,.2) 50%,transparent 50%),radial-gradient(1px 1px at 85% 15%,rgba(255,255,255,.4) 50%,transparent 50%),radial-gradient(2px 2px at 45% 75%,rgba(255,255,255,.15) 50%,transparent 50%);z-index:1;pointer-events:none;animation:twinkle 8s ease-in-out infinite}.auth-card{background:var(--white);border-radius:var(--radius-lg);box-shadow:0 25px 50px -12px #00000040,0 0 0 1px #ffffff1a;padding:var(--space-2xl);max-width:600px;width:100%;position:relative;z-index:10;animation:slideUp .6s ease-out}.auth-header{text-align:center;margin-bottom:var(--space-xl)}.auth-logo{display:flex;justify-content:center;align-items:center;margin-bottom:var(--space-md)}.auth-logo-image{height:100px;width:auto;filter:drop-shadow(0 8px 20px rgba(255,140,66,.25));animation:fadeInScale .6s ease-out}.auth-subtitle{color:var(--gray);font-size:1rem;margin:0;font-weight:500}.auth-form,.auth-form .form-group{margin-bottom:var(--space-lg)}.auth-form .form-row{display:flex;gap:var(--space-md);margin-bottom:var(--space-lg)}.auth-form .form-row .form-group{flex:1;margin-bottom:0}.auth-form .form-group label{display:flex;align-items:center;gap:var(--space-sm);margin-bottom:var(--space-sm);font-weight:600;color:var(--dark-blue);font-size:.95rem}.auth-form .form-group label svg{color:var(--primary-orange);flex-shrink:0}.auth-form input[type=email],.auth-form input[type=password],.auth-form input[type=text],.auth-form input[type=tel]{width:100%;padding:14px 16px;border:2px solid var(--light-gray);border-radius:var(--radius);font-size:1rem;transition:all .2s ease;background-color:var(--off-white)}.auth-form input:focus{outline:none;border-color:var(--primary-orange);background-color:var(--white);box-shadow:0 0 0 4px #ff8c421a}.auth-form input::placeholder{color:var(--gray);opacity:.7}.form-hint{color:var(--gray);font-size:.85rem;display:block;margin-top:var(--space-xs)}.form-row-inline{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-lg)}.checkbox-group{display:flex;align-items:center;gap:var(--space-sm);cursor:pointer;-webkit-user-select:none;user-select:none}.checkbox-group input[type=checkbox]{width:18px;height:18px;accent-color:var(--primary-orange);cursor:pointer;border-radius:var(--radius-sm)}.checkbox-group label{font-size:.9rem;color:var(--gray);font-weight:500;cursor:pointer;margin-bottom:0}.forgot-link{font-size:.9rem;color:var(--primary-orange);font-weight:600;text-decoration:none;transition:color .2s ease}.forgot-link:hover{color:var(--light-orange);text-decoration:underline}.password-strength{margin-top:var(--space-sm)}.strength-bar{height:4px;background:var(--light-gray);border-radius:var(--radius-full);overflow:hidden;margin-bottom:var(--space-xs)}.strength-fill{height:100%;border-radius:var(--radius-full);transition:all .3s ease;width:0%}.strength-fill.weak{width:25%;background:var(--danger)}.strength-fill.fair{width:50%;background:var(--warning)}.strength-fill.good{width:75%;background:#60a5fa}.strength-fill.strong{width:100%;background:var(--success)}.strength-text{font-size:.8rem;font-weight:500;display:flex;align-items:center;gap:var(--space-xs)}.strength-text.weak{color:var(--danger)}.strength-text.fair{color:var(--warning)}.strength-text.good{color:#60a5fa}.strength-text.strong{color:var(--success)}.terms-group{margin-bottom:var(--space-lg)}.terms-group .checkbox-group{align-items:flex-start}.terms-group .checkbox-group input[type=checkbox]{margin-top:2px}.terms-group label{line-height:1.4}.terms-group a{color:var(--primary-orange);font-weight:600;text-decoration:none}.terms-group a:hover{text-decoration:underline}.btn-block{width:100%;justify-content:center;padding:14px 24px;font-size:1rem;font-weight:600;margin-top:var(--space-md)}.btn-block .spinner{width:24px;height:24px;border-width:2px}.error-message{background:#dc354514;color:var(--danger);padding:var(--space-md);border-radius:var(--radius);display:flex;align-items:flex-start;gap:var(--space-sm);margin-bottom:var(--space-lg);border-left:4px solid var(--danger);font-size:.95rem;line-height:1.5}.error-message svg{flex-shrink:0;margin-top:2px}.success-message{background:#28a74514;color:var(--success);padding:var(--space-md);border-radius:var(--radius);display:flex;align-items:flex-start;gap:var(--space-sm);margin-bottom:var(--space-lg);border-left:4px solid var(--success);font-size:.95rem;line-height:1.5}.auth-footer{text-align:center;padding-top:var(--space-lg);border-top:1px solid var(--light-gray)}.auth-footer p{margin:0;color:var(--gray);font-size:.95rem}.auth-link{color:var(--primary-orange);font-weight:600;text-decoration:none;transition:color .2s ease}.auth-link:hover{color:var(--light-orange);text-decoration:underline}.auth-divider{display:flex;align-items:center;margin:var(--space-lg) 0}.auth-divider:before,.auth-divider:after{content:"";flex:1;height:1px;background:var(--light-gray)}.auth-divider span{padding:0 var(--space-md);color:var(--gray);font-size:.85rem;font-weight:500}.auth-background{position:absolute;top:0;left:0;width:100%;height:100%;overflow:hidden;z-index:2;pointer-events:none}.background-circle{position:absolute;border-radius:50%;animation:float 20s infinite ease-in-out}.circle-1{width:500px;height:500px;background:linear-gradient(135deg,#ff8c4226,#ff8c420d);top:-250px;left:-250px;animation-delay:0s}.circle-2{width:700px;height:700px;background:linear-gradient(135deg,#2563eb1a,#2563eb08);bottom:-350px;right:-350px;animation-delay:5s}.circle-3{width:350px;height:350px;background:linear-gradient(135deg,#ff8c421f,#ff8c420a);top:40%;right:-175px;animation-delay:10s}.auth-decoration{position:absolute;z-index:3;pointer-events:none;opacity:.6}.decoration-plane{top:15%;right:10%;color:#ffffff4d;animation:flyPlane 30s linear infinite}@keyframes flyPlane{0%{transform:translate(0) rotate(-15deg)}50%{transform:translate(-100px,50px) rotate(-10deg)}to{transform:translate(0) rotate(-15deg)}}@media(max-width:768px){.auth-container{padding:var(--space-md);align-items:flex-start;padding-top:var(--space-2xl)}.auth-card{padding:var(--space-xl);border-radius:var(--radius-md)}.auth-logo-image{height:80px}.auth-subtitle{font-size:.9rem}.form-row-inline{flex-direction:column;align-items:flex-start;gap:var(--space-sm)}.auth-form .form-row{flex-direction:column;gap:0}.auth-form .form-row .form-group{margin-bottom:var(--space-lg)}.circle-1{width:300px;height:300px;top:-150px;left:-150px}.circle-2{width:400px;height:400px;bottom:-200px;right:-200px}.circle-3{display:none}}@media(max-width:480px){.auth-container{padding:var(--space-sm);padding-top:var(--space-lg)}.auth-card{padding:var(--space-lg)}.auth-logo-image{height:70px}.auth-form input{padding:12px 14px}.btn-block{padding:12px 20px}}.auth-form input:focus-visible,.auth-form button:focus-visible,.checkbox-group input:focus-visible{outline:2px solid var(--primary-orange);outline-offset:2px}.auth-link:focus-visible,.forgot-link:focus-visible{outline:2px solid var(--primary-orange);outline-offset:2px;border-radius:var(--radius-sm)}.notification-bell{position:relative}.notification-bell-button{display:flex;align-items:center;justify-content:center;width:42px;height:42px;border:none;background:var(--off-white);border-radius:var(--radius-full);cursor:pointer;transition:all .2s ease;color:var(--gray);position:relative}.notification-bell-button:hover{background:var(--light-gray);color:var(--primary-orange)}.notification-badge{position:absolute;top:-2px;right:-2px;min-width:18px;height:18px;padding:0 5px;background:#ef4444;color:#fff;font-size:11px;font-weight:600;border-radius:9px;display:flex;align-items:center;justify-content:center;border:2px solid var(--white);line-height:1}.notification-dropdown{position:absolute;top:calc(100% + 8px);right:0;width:360px;max-height:480px;background:var(--white);border-radius:var(--radius-lg);box-shadow:0 10px 40px #00000026,0 2px 10px #0000001a;z-index:1000;display:flex;flex-direction:column;overflow:hidden;border:1px solid rgba(0,0,0,.08)}.notification-header{display:flex;justify-content:space-between;align-items:center;padding:var(--space-md) var(--space-lg);border-bottom:1px solid var(--light-gray);background:var(--off-white)}.notification-header h3{margin:0;font-size:1rem;font-weight:600;color:var(--dark-blue)}.mark-all-read-btn{display:flex;align-items:center;gap:var(--space-xs);padding:var(--space-xs) var(--space-sm);background:transparent;border:none;color:var(--primary-blue);font-size:.8rem;font-weight:500;cursor:pointer;border-radius:var(--radius-sm);transition:all .2s ease}.mark-all-read-btn:hover:not(:disabled){background:#3b82f61a}.mark-all-read-btn:disabled{opacity:.5;cursor:not-allowed}.notification-list{flex:1;overflow-y:auto;max-height:360px}.notification-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--space-2xl) var(--space-lg);color:var(--gray)}.notification-empty .empty-icon{opacity:.3;margin-bottom:var(--space-sm)}.notification-empty p{margin:0;font-size:.9rem}.notification-item{display:flex;align-items:flex-start;padding:var(--space-md) var(--space-lg);cursor:pointer;transition:background .2s ease;border-bottom:1px solid var(--light-gray);position:relative}.notification-item:last-child{border-bottom:none}.notification-item:hover{background:var(--off-white)}.notification-item.unread{background:#ff8c420d}.notification-item.unread:hover{background:#ff8c421a}.notification-content{flex:1;min-width:0}.notification-title{font-weight:600;font-size:.9rem;color:var(--dark-blue);margin-bottom:2px;line-height:1.3}.notification-message{font-size:.85rem;color:var(--gray);line-height:1.4;margin-bottom:4px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.notification-trip{font-size:.8rem;color:var(--primary-blue);font-weight:500;margin-bottom:4px}.notification-time{font-size:.75rem;color:var(--gray);opacity:.7}.notification-unread-indicator{width:8px;height:8px;background:var(--primary-orange);border-radius:50%;flex-shrink:0;margin-left:var(--space-sm);margin-top:6px}.notification-footer{padding:var(--space-sm) var(--space-lg);border-top:1px solid var(--light-gray);background:var(--off-white)}.manage-preferences-btn{width:100%;padding:var(--space-sm);background:transparent;border:1px solid var(--light-gray);border-radius:var(--radius-md);color:var(--gray);font-size:.85rem;font-weight:500;cursor:pointer;transition:all .2s ease}.manage-preferences-btn:hover{background:var(--white);color:var(--primary-orange);border-color:var(--primary-orange)}.notification-list::-webkit-scrollbar{width:6px}.notification-list::-webkit-scrollbar-track{background:transparent}.notification-list::-webkit-scrollbar-thumb{background:var(--light-gray);border-radius:3px}.notification-list::-webkit-scrollbar-thumb:hover{background:var(--gray)}@media(max-width:480px){.notification-dropdown{width:calc(100vw - 32px);right:-8px}}@media(max-width:768px){.notification-dropdown{width:320px}}.navbar{background:var(--white);color:var(--dark-blue);padding:var(--space-xs) 0;position:sticky;top:0;z-index:100;border-bottom:1px solid transparent;min-height:80px;display:flex;align-items:center;transition:all .3s ease}.navbar.scrolled{box-shadow:0 4px 20px #00000014;border-bottom-color:#0000000f;min-height:70px}.navbar.scrolled .logo-image{height:60px}.navbar-content{display:flex;justify-content:space-between;align-items:center;gap:var(--space-xl);width:100%;height:100%}.navbar-brand{display:flex;align-items:center;gap:var(--space-md);text-decoration:none;color:var(--dark-blue);font-size:1.5rem;font-weight:700;transition:transform .2s ease;flex-shrink:0}.navbar-brand:hover .logo-image{transform:scale(1.05);filter:drop-shadow(0 4px 12px rgba(255,140,66,.3))}.logo-image{height:70px;width:auto;filter:drop-shadow(0 3px 8px rgba(0,0,0,.12));transition:all .3s ease}.navbar-links{display:flex;align-items:center;gap:var(--space-xs);flex:1;justify-content:center}.nav-link{display:flex;align-items:center;gap:var(--space-xs);padding:var(--space-sm) var(--space-md);color:var(--gray);text-decoration:none;border-radius:var(--radius-md);transition:all .2s ease;font-weight:500;font-size:.95rem;white-space:nowrap}.nav-link:hover{background:var(--off-white);color:var(--primary-blue)}.nav-link.active{background:linear-gradient(135deg,#ff8c421a,#ffb3801a);color:var(--primary-orange);font-weight:600}.navbar-user{display:flex;align-items:center;gap:var(--space-md)}.user-dropdown-container{position:relative}.user-menu-trigger{display:flex;align-items:center;gap:var(--space-sm);padding:var(--space-xs) var(--space-sm);padding-right:var(--space-md);background:var(--off-white);border:2px solid transparent;border-radius:var(--radius-full);cursor:pointer;transition:all .2s ease}.user-menu-trigger:hover{background:var(--white);border-color:var(--light-gray);box-shadow:0 2px 8px #00000014}.user-avatar{width:36px;height:36px;background:linear-gradient(135deg,var(--primary-orange),var(--light-orange));border-radius:50%;display:flex;align-items:center;justify-content:center;color:var(--white)}.user-name{font-weight:500;color:var(--dark-blue);max-width:120px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dropdown-arrow{color:var(--gray);transition:transform .2s ease}.dropdown-arrow.open{transform:rotate(180deg)}.user-dropdown{position:absolute;top:calc(100% + 8px);right:0;background:var(--white);border-radius:var(--radius-lg);box-shadow:0 10px 40px #00000026;min-width:260px;overflow:hidden;animation:dropdownFadeIn .2s ease;z-index:200}@keyframes dropdownFadeIn{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.dropdown-header{display:flex;align-items:center;gap:var(--space-md);padding:var(--space-lg);background:linear-gradient(135deg,var(--off-white),var(--background))}.dropdown-user-avatar{width:48px;height:48px;background:linear-gradient(135deg,var(--primary-orange),var(--light-orange));border-radius:50%;display:flex;align-items:center;justify-content:center;color:var(--white);flex-shrink:0}.dropdown-user-info{display:flex;flex-direction:column;overflow:hidden}.dropdown-user-name{font-weight:600;color:var(--dark-blue);font-size:1rem}.dropdown-user-email{font-size:.85rem;color:var(--text-secondary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dropdown-divider{height:1px;background:var(--border);margin:0}.dropdown-item{display:flex;align-items:center;gap:var(--space-md);padding:var(--space-md) var(--space-lg);color:var(--text-primary);text-decoration:none;background:none;border:none;width:100%;font-size:.95rem;cursor:pointer;transition:all .15s ease}.dropdown-item:hover{background:var(--off-white);color:var(--primary-blue)}.dropdown-item svg{color:var(--gray);transition:color .15s ease}.dropdown-item:hover svg{color:var(--primary-blue)}.dropdown-logout{color:var(--danger)}.dropdown-logout:hover{background:#fef2f2;color:var(--danger)}.dropdown-logout svg,.dropdown-logout:hover svg{color:var(--danger)}.mobile-menu-btn{display:none;align-items:center;justify-content:center;width:44px;height:44px;padding:0;background:var(--off-white);border:none;border-radius:var(--radius-md);color:var(--dark-blue);cursor:pointer;transition:all .2s ease}.mobile-menu-btn:hover{background:var(--light-gray)}.mobile-nav-overlay{position:fixed;inset:80px 0 0;background:var(--white);z-index:99;transform:translate(100%);transition:transform .3s ease;overflow-y:auto}.mobile-nav-overlay.open{transform:translate(0)}.mobile-nav-content{padding:var(--space-lg);display:flex;flex-direction:column;min-height:100%}.mobile-user-section{display:flex;align-items:center;gap:var(--space-md);padding:var(--space-md);background:linear-gradient(135deg,var(--off-white),var(--background));border-radius:var(--radius-lg);margin-bottom:var(--space-md)}.mobile-user-avatar{width:52px;height:52px;background:linear-gradient(135deg,var(--primary-orange),var(--light-orange));border-radius:50%;display:flex;align-items:center;justify-content:center;color:var(--white);flex-shrink:0}.mobile-user-info{display:flex;flex-direction:column;overflow:hidden}.mobile-user-name{font-weight:600;color:var(--dark-blue);font-size:1.1rem}.mobile-user-email{font-size:.85rem;color:var(--text-secondary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mobile-nav-divider{height:1px;background:var(--border);margin:var(--space-md) 0}.mobile-nav-links{display:flex;flex-direction:column;gap:var(--space-xs)}.mobile-nav-link{display:flex;align-items:center;gap:var(--space-md);padding:var(--space-md) var(--space-lg);color:var(--text-primary);text-decoration:none;border-radius:var(--radius-md);font-weight:500;font-size:1.05rem;transition:all .2s ease}.mobile-nav-link:hover{background:var(--off-white);color:var(--primary-blue)}.mobile-nav-link.active{background:linear-gradient(135deg,#ff8c4226,#ffb3801a);color:var(--primary-orange);font-weight:600}.mobile-nav-link svg{flex-shrink:0}.mobile-notifications{display:flex;align-items:center;gap:var(--space-md);padding:var(--space-md) var(--space-lg);color:var(--text-primary);font-weight:500;font-size:1.05rem}.mobile-logout-btn{display:flex;align-items:center;gap:var(--space-md);padding:var(--space-md) var(--space-lg);background:#fef2f2;border:none;border-radius:var(--radius-md);color:var(--danger);font-weight:500;font-size:1.05rem;cursor:pointer;margin-top:auto;transition:all .2s ease}.mobile-logout-btn:hover{background:#fee2e2}.navbar-public{background:var(--white);box-shadow:none;border-bottom:none}.navbar-public.scrolled{background:var(--white);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.navbar-public-actions{display:flex;align-items:center;gap:var(--space-md)}.navbar-public-actions .btn-ghost{color:var(--dark-blue);border:none;padding:var(--space-sm) var(--space-md)}.navbar-public-actions .btn-ghost:hover{background:#0000000d;color:var(--primary-orange)}.btn-get-started{background:linear-gradient(135deg,var(--primary-orange),#f57c00);color:#fff;border:none;padding:var(--space-sm) var(--space-lg);border-radius:var(--radius-md);font-weight:600;cursor:pointer;transition:all .3s ease}.btn-get-started:hover{transform:translateY(-2px);box-shadow:0 4px 12px #ff8c424d}@media(max-width:1200px){.navbar-links{gap:var(--space-xs)}.nav-link{padding:var(--space-sm)}.nav-link span,.user-name{display:none}}@media(max-width:768px){.navbar{padding:var(--space-xs) 0;min-height:70px}.navbar.scrolled{min-height:60px}.logo-image{height:50px}.navbar.scrolled .logo-image{height:45px}.desktop-nav{display:none}.mobile-menu-btn{display:flex}.mobile-nav-overlay{top:70px}.navbar.scrolled+.mobile-nav-overlay,.navbar.scrolled .mobile-nav-overlay{top:60px}}@media(max-width:480px){.navbar-brand{font-size:1.2rem}.logo-image{height:45px}.mobile-nav-content{padding:var(--space-md)}}.mobile-menu-btn:focus-visible,.user-menu-trigger:focus-visible,.nav-link:focus-visible,.mobile-nav-link:focus-visible{outline:2px solid var(--primary-blue);outline-offset:2px}@media(prefers-reduced-motion:reduce){.navbar,.logo-image,.mobile-nav-overlay,.user-dropdown,.dropdown-arrow{transition:none}.user-dropdown{animation:none}}.dashboard{min-height:100vh;background:var(--background);padding-bottom:var(--space-2xl)}.welcome-header{display:flex;justify-content:space-between;align-items:center;padding:var(--space-xl) var(--space-2xl);background:linear-gradient(135deg,var(--white) 0%,rgba(255,140,66,.05) 100%);border-radius:var(--radius-lg);margin-bottom:var(--space-lg);box-shadow:var(--shadow);border:1px solid rgba(255,140,66,.1)}.welcome-content{display:flex;flex-direction:column;gap:var(--space-lg)}.welcome-text{display:flex;flex-direction:column;gap:var(--space-xs)}.welcome-greeting{display:flex;align-items:center;gap:var(--space-md);font-size:1.75rem;font-weight:700;color:var(--dark-blue);margin:0}.welcome-icon{color:var(--primary-orange);animation:float 3s ease-in-out infinite}@keyframes float{0%,to{transform:translateY(0) rotate(-5deg)}50%{transform:translateY(-8px) rotate(5deg)}}.welcome-subtitle{font-size:1.1rem;color:var(--gray);margin:0}.welcome-stats{display:flex;align-items:center;gap:var(--space-lg)}.stat-item{display:flex;flex-direction:column;align-items:center;gap:2px}.stat-number{font-size:1.5rem;font-weight:700;color:var(--primary-blue)}.stat-item.ongoing .stat-number{color:var(--success)}.stat-label{font-size:.8rem;color:var(--gray);text-transform:uppercase;letter-spacing:.5px;font-weight:500}.stat-divider{width:1px;height:36px;background:var(--border)}.btn-create-trip{display:flex;align-items:center;gap:var(--space-sm);padding:var(--space-md) var(--space-xl);background:linear-gradient(135deg,var(--primary-orange),#f57c00);color:var(--white);border:none;border-radius:var(--radius-md);font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 14px #ff8c4259;white-space:nowrap}.btn-create-trip:hover{transform:translateY(-2px);box-shadow:0 6px 20px #ff8c4273}.btn-create-trip.agent-mode{background:linear-gradient(135deg,var(--primary-blue),var(--dark-blue));box-shadow:0 4px 14px #2563eb59}.btn-create-trip.agent-mode:hover{box-shadow:0 6px 20px #2563eb73}.mode-toggle-container{display:flex;align-items:center;gap:var(--space-md);padding:var(--space-md) var(--space-lg);background:var(--white);border-radius:var(--radius-md);margin-bottom:var(--space-lg);box-shadow:var(--shadow-sm);border:1px solid var(--light-gray)}.mode-toggle-label{display:flex;align-items:center;gap:var(--space-sm);font-size:.9rem;color:var(--gray);font-weight:500;transition:all .3s ease}.mode-toggle-label svg{opacity:.5;transition:all .3s ease}.mode-toggle-label.active{color:var(--dark-blue)}.mode-toggle-label.active svg{opacity:1;color:var(--primary-orange)}.toggle-switch{position:relative;width:52px;height:28px;background:var(--light-gray);border-radius:14px;cursor:pointer;transition:all .3s ease;flex-shrink:0}.toggle-switch:hover{background:var(--border)}.toggle-switch.active{background:linear-gradient(135deg,var(--primary-orange),#f57c00)}.toggle-switch:after{content:"";position:absolute;top:3px;left:3px;width:22px;height:22px;background:var(--white);border-radius:50%;box-shadow:0 2px 4px #00000026;transition:transform .3s ease}.toggle-hint{font-size:.85rem;color:var(--gray);margin-left:auto;font-style:italic}.toggle-hint.active{color:var(--primary-orange);font-weight:500;font-style:normal}.quick-actions{display:flex;gap:var(--space-md);margin-bottom:var(--space-xl)}.quick-action-btn{display:flex;align-items:center;gap:var(--space-sm);padding:var(--space-sm) var(--space-lg);background:var(--white);border:1px solid var(--border);border-radius:var(--radius-full);font-size:.9rem;font-weight:500;color:var(--dark-gray);cursor:pointer;transition:all .2s ease}.quick-action-btn:hover{background:var(--off-white);border-color:var(--primary-orange);color:var(--primary-orange);transform:translateY(-1px);box-shadow:var(--shadow-sm)}.quick-action-btn svg{transition:color .2s ease}.quick-action-btn:hover svg{color:var(--primary-orange)}.trips-section{margin-bottom:var(--space-2xl)}.trips-subsection{margin-bottom:var(--space-xl)}.trips-subsection.completed-section{margin-top:var(--space-xl);padding-top:var(--space-xl);border-top:1px solid var(--border)}.trips-subsection.completed-section .trip-card{opacity:.85}.trips-subsection.completed-section .trip-card:hover{opacity:1}.trips-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-lg)}.trips-header-left{display:flex;align-items:center;gap:var(--space-sm)}.trips-header-icon{color:var(--primary-orange)}.trips-header-icon.completed{color:var(--gray)}.trips-header h2{margin:0;color:var(--dark-blue);font-size:1.5rem}.trips-count{font-size:.9rem;color:var(--gray);font-weight:500;padding:var(--space-xs) var(--space-md);background:var(--off-white);border-radius:var(--radius-full)}.trips-count.completed{background:#6b72801a}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--space-2xl);background:var(--white);border-radius:var(--radius-lg);border:2px dashed var(--border);text-align:center;min-height:350px}.empty-illustration{position:relative;width:120px;height:120px;margin-bottom:var(--space-lg)}.empty-globe{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);color:var(--primary-blue);opacity:.3}.empty-plane{position:absolute;top:10px;right:0;color:var(--primary-orange);animation:orbit 4s ease-in-out infinite}@keyframes orbit{0%,to{transform:translate(0) rotate(-15deg)}25%{transform:translate(20px,-15px) rotate(0)}50%{transform:translateY(-30px) rotate(15deg)}75%{transform:translate(-20px,-15px) rotate(0)}}.empty-state h3{color:var(--dark-blue);font-size:1.4rem;margin:0 0 var(--space-sm)}.empty-state p{color:var(--gray);font-size:1rem;max-width:360px;margin:0 0 var(--space-xl);line-height:1.6}.btn-empty-cta{display:flex;align-items:center;gap:var(--space-sm);padding:var(--space-md) var(--space-xl);background:linear-gradient(135deg,var(--primary-orange),#f57c00);color:var(--white);border:none;border-radius:var(--radius-md);font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 14px #ff8c4259}.btn-empty-cta:hover{transform:translateY(-2px);box-shadow:0 6px 20px #ff8c4273}.btn-empty-cta.agent-mode{background:linear-gradient(135deg,var(--primary-blue),var(--dark-blue));box-shadow:0 4px 14px #2563eb59}.btn-empty-cta.agent-mode:hover{box-shadow:0 6px 20px #2563eb73}.trips-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-lg)}.trip-card{position:relative;background:var(--white);border-radius:var(--radius-lg);overflow:hidden;cursor:pointer;transition:all .3s ease;box-shadow:var(--shadow);border:1px solid var(--light-gray)}.trip-card:hover{transform:translateY(-6px);box-shadow:var(--shadow-xl);border-color:var(--primary-orange)}.trip-card-gradient{position:absolute;top:0;left:0;right:0;height:6px;background:linear-gradient(90deg,var(--primary-orange),var(--accent-orange));transition:height .3s ease}.trip-card.status-ongoing .trip-card-gradient{background:linear-gradient(90deg,var(--success),#2ed573)}.trip-card.status-completed .trip-card-gradient{background:linear-gradient(90deg,var(--gray),var(--dark-gray))}.trip-card:hover .trip-card-gradient{height:8px}.trip-card-content{padding:var(--space-lg);display:flex;flex-direction:column;gap:var(--space-md)}.trip-card-top{display:flex;justify-content:space-between;align-items:flex-start}.trip-status-badge{display:inline-flex;align-items:center;padding:4px 12px;border-radius:var(--radius-full);font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.badge-upcoming{background:#ff8c4226;color:#d97706}.badge-ongoing{background:#28a74526;color:#15803d}.badge-completed{background:#6b728026;color:#4b5563}.trip-delete-btn{display:flex;align-items:center;justify-content:center;width:32px;height:32px;background:transparent;border:none;border-radius:var(--radius-sm);color:var(--gray);cursor:pointer;transition:all .2s ease;opacity:0}.trip-card:hover .trip-delete-btn{opacity:1}.trip-delete-btn:hover{background:#dc35451a;color:var(--danger)}.trip-card-main{display:flex;flex-direction:column;gap:var(--space-xs)}.trip-name{font-size:1.2rem;font-weight:600;color:var(--dark-blue);margin:0;line-height:1.3}.trip-destination{display:flex;align-items:center;gap:var(--space-xs);color:var(--gray);font-size:.9rem}.trip-destination svg{color:var(--primary-orange);flex-shrink:0}.trip-card-details{display:flex;flex-direction:column;gap:var(--space-xs);padding-top:var(--space-sm);border-top:1px solid var(--light-gray)}.trip-detail{display:flex;align-items:center;gap:var(--space-xs);color:var(--gray);font-size:.85rem}.trip-detail svg{color:var(--primary-blue);flex-shrink:0}.trip-detail-row{display:flex;align-items:center;gap:var(--space-md)}.trip-card-footer{padding-top:var(--space-sm);margin-top:auto}.view-trip{display:flex;align-items:center;gap:var(--space-xs);color:var(--primary-orange);font-size:.9rem;font-weight:600;transition:gap .2s ease}.trip-card:hover .view-trip{gap:var(--space-sm)}.view-trip svg{transition:transform .2s ease}.trip-card:hover .view-trip svg{transform:translate(4px)}.modal-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:var(--space-lg);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.delete-modal{background:var(--white);border-radius:var(--radius-lg);padding:var(--space-xl);max-width:400px;width:100%;text-align:center;box-shadow:var(--shadow-xl)}.delete-modal-icon{display:flex;align-items:center;justify-content:center;width:64px;height:64px;background:#dc35451a;border-radius:50%;margin:0 auto var(--space-lg);color:var(--danger)}.delete-modal h3{color:var(--dark-blue);margin:0 0 var(--space-sm);font-size:1.3rem}.delete-modal p{color:var(--gray);margin:0 0 var(--space-xl);line-height:1.5}.delete-modal p strong{color:var(--dark-blue)}.delete-modal-actions{display:flex;gap:var(--space-md);justify-content:center}.btn-cancel{padding:var(--space-sm) var(--space-xl);background:var(--off-white);border:1px solid var(--border);border-radius:var(--radius-md);font-size:.95rem;font-weight:500;color:var(--dark-gray);cursor:pointer;transition:all .2s ease}.btn-cancel:hover:not(:disabled){background:var(--light-gray)}.btn-cancel:disabled{opacity:.6;cursor:not-allowed}.btn-delete{padding:var(--space-sm) var(--space-xl);background:var(--danger);border:none;border-radius:var(--radius-md);font-size:.95rem;font-weight:600;color:var(--white);cursor:pointer;transition:all .2s ease}.btn-delete:hover:not(:disabled){background:#c82333;transform:translateY(-1px);box-shadow:0 4px 8px #dc35454d}.btn-delete:disabled{opacity:.6;cursor:not-allowed}@media(max-width:1024px){.trips-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:768px){.welcome-header{flex-direction:column;align-items:flex-start;gap:var(--space-lg);padding:var(--space-lg)}.welcome-greeting{font-size:1.4rem}.welcome-stats{width:100%;justify-content:flex-start}.btn-create-trip{width:100%;justify-content:center}.mode-toggle-container{flex-wrap:wrap;gap:var(--space-sm);padding:var(--space-md)}.toggle-hint{width:100%;text-align:center;margin-left:0;margin-top:var(--space-xs)}.quick-actions{flex-wrap:wrap}.quick-action-btn{flex:1;justify-content:center;min-width:120px}.trips-grid{grid-template-columns:1fr}.trip-delete-btn{opacity:1}.trips-header h2{font-size:1.25rem}}@media(max-width:480px){.welcome-content{gap:var(--space-md)}.welcome-greeting{font-size:1.2rem;flex-wrap:wrap}.welcome-icon{display:none}.stat-number{font-size:1.25rem}.stat-label{font-size:.7rem}.empty-state{padding:var(--space-xl);min-height:280px}.empty-state h3{font-size:1.2rem}.empty-state p{font-size:.9rem}}.wizard-modal{background:#fff;border-radius:24px;width:100%;max-width:780px;max-height:90vh;display:flex;flex-direction:column;overflow:hidden;border:1px solid #e5e7eb;box-shadow:0 25px 80px #00000026}.wizard-modal.loading,.wizard-modal.prefs-required{padding:60px 40px;text-align:center;max-width:780px}.loading-spinner{width:48px;height:48px;border:4px solid #e5e7eb;border-top-color:#ff6b35;border-radius:50%;animation:spin .8s linear infinite;margin:0 auto 20px}.prefs-required-content{display:flex;flex-direction:column;align-items:center;gap:20px}.prefs-icon{width:80px;height:80px;background:linear-gradient(135deg,#ff6b35,#f7c948);border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff}.prefs-required-content h2{font-size:24px;color:#1a1a2e;margin:0}.prefs-required-content p{color:#6b7280;max-width:400px;line-height:1.6}.wizard-header{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:1px solid #e5e7eb;background:#f9fafb}.wizard-title{display:flex;align-items:center;gap:12px;font-size:18px;font-weight:600;color:#1a1a2e}.wizard-title svg{color:#ff6b35}.modal-close{width:40px;height:40px;border-radius:50%;background:#fff;border:1px solid #e5e7eb;color:#6b7280;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s}.modal-close:hover{background:#ef4444;border-color:#ef4444;color:#fff}.wizard-progress{padding:16px 24px;display:flex;align-items:center;gap:16px;border-bottom:1px solid #f3f4f6;background:#fff}.progress-bar{flex:1;height:6px;background:#e5e7eb;border-radius:3px;overflow:hidden}.progress-fill{height:100%;background:linear-gradient(90deg,#ff6b35,#f7c948);border-radius:3px;transition:width .4s ease}.progress-text{font-size:13px;color:#6b7280;white-space:nowrap}.wizard-error{padding:12px 24px;background:#ef444414;color:#dc2626;font-size:14px;text-align:center;border-bottom:1px solid rgba(239,68,68,.15)}.wizard-body{flex:1;overflow-y:auto;padding:24px;background:#fff}.wizard-step{animation:fadeIn .3s ease}.step-header{text-align:center;margin-bottom:32px}.step-icon-wrapper{width:64px;height:64px;background:linear-gradient(135deg,#ff6b35,#f7c948);border-radius:16px;display:flex;align-items:center;justify-content:center;color:#fff;margin:0 auto 16px}.step-header h2{font-size:24px;font-weight:700;color:#1a1a2e;margin:0 0 8px}.step-header p{color:#6b7280;font-size:16px;margin:0}.question-block{background:#f9fafb;border-radius:16px;padding:20px;margin-bottom:20px;border:1px solid #e5e7eb}.question-block h3{display:flex;align-items:center;gap:10px;font-size:16px;font-weight:600;color:#1a1a2e;margin:0 0 16px}.question-block h3 svg{color:#ff6b35}.question-header{display:flex;align-items:flex-start;gap:12px;margin-bottom:12px}.q-num{width:24px;height:24px;background:#ff6b35;border-radius:6px;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:700;color:#fff;flex-shrink:0}.question-block h4{font-size:16px;font-weight:500;color:#1a1a2e;margin:0;line-height:1.4}.q-hint{font-size:13px;color:#6b7280;margin:0 0 12px 36px}.departure-choice,.destination-choice{display:flex;gap:12px;margin-bottom:16px}.departure-input{margin-top:12px}.choice-btn{flex:1 1 0;min-width:0;padding:16px;background:#fff;border:2px solid #e5e7eb;border-radius:12px;color:#1a1a2e;font-size:15px;font-weight:500;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:10px;transition:all .3s}.choice-btn:hover{border-color:#ff6b35;box-shadow:0 4px 12px #0000000f}.choice-btn.selected{border-color:#ff6b35;background:linear-gradient(145deg,#ff6b3514,#f7c9480d)}.choice-btn span{font-size:20px}.destination-input{margin-top:12px}.surprise-note{display:flex;align-items:center;gap:10px;padding:16px;background:linear-gradient(90deg,rgba(255,107,53,.08) 0%,transparent 100%);border-radius:10px;color:#ff6b35;font-size:14px;margin-top:12px}.dates-row{display:flex;gap:16px}.date-field{flex:1}.date-field label{display:block;font-size:13px;color:#6b7280;margin-bottom:8px}.duration-badge{display:inline-flex;align-items:center;gap:8px;padding:10px 16px;background:linear-gradient(135deg,#ff6b351a,#f7c9480f);border-radius:20px;color:#ff6b35;font-size:14px;font-weight:500;margin-top:12px}.wizard-input,.wizard-select,.wizard-textarea{width:100%;padding:14px 16px;background:#fff;border:2px solid #e5e7eb;border-radius:10px;color:#1a1a2e;font-size:15px;transition:all .3s}.wizard-input:focus,.wizard-select:focus,.wizard-textarea:focus{outline:none;border-color:#ff6b35;box-shadow:0 0 0 4px #ff6b351a}.wizard-input::placeholder,.wizard-textarea::placeholder{color:#9ca3af}.wizard-textarea{resize:vertical;min-height:100px}.wizard-slider{padding:8px 0}.slider-labels{display:flex;justify-content:space-between;margin-bottom:12px}.slider-label{font-size:13px;color:#6b7280;display:flex;align-items:center;gap:6px}.slider-track-wrapper{position:relative}.slider-input{width:100%;height:8px;-webkit-appearance:none;background:#e5e7eb;border-radius:4px;outline:none}.slider-input::-webkit-slider-thumb{-webkit-appearance:none;width:22px;height:22px;background:linear-gradient(135deg,#ff6b35,#f7c948);border-radius:50%;cursor:pointer;box-shadow:0 4px 12px #ff6b3566}.slider-value{position:absolute;top:-28px;left:50%;transform:translate(-50%);background:#ff6b35;color:#fff;padding:4px 10px;border-radius:12px;font-size:12px;font-weight:600}.visual-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:12px}.visual-card{background:#fff;border:2px solid #e5e7eb;border-radius:12px;padding:16px 12px;cursor:pointer;transition:all .3s;display:flex;flex-direction:column;align-items:center;text-align:center;gap:8px;position:relative}.visual-card:hover{border-color:#ff6b35;transform:translateY(-2px);box-shadow:0 8px 20px #00000014}.card-emoji{font-size:32px}.card-label{font-size:13px;font-weight:600;color:#1a1a2e}.card-desc{font-size:11px;color:#6b7280;line-height:1.3}.card-check{position:absolute;top:8px;right:8px;width:20px;height:20px;background:#ff6b35;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff}.visual-choices{display:flex;flex-direction:column;gap:10px}.visual-choice{display:flex;align-items:center;gap:14px;background:#fff;border:2px solid #e5e7eb;border-radius:12px;padding:14px 16px;cursor:pointer;transition:all .3s;text-align:left}.visual-choice:hover{border-color:#ff6b35;box-shadow:0 4px 12px #0000000f}.visual-choice.selected{border-color:#ff6b35;background:linear-gradient(90deg,rgba(255,107,53,.08) 0%,transparent 100%)}.choice-emoji{font-size:28px;flex-shrink:0}.choice-label{font-size:14px;font-weight:600;color:#1a1a2e;display:block}.choice-desc{font-size:12px;color:#6b7280;margin-top:2px;display:block}.multi-chips{display:flex;flex-wrap:wrap;gap:8px}.chip{display:flex;align-items:center;gap:6px;background:#fff;border:2px solid #e5e7eb;border-radius:20px;padding:8px 14px;font-size:13px;color:#1a1a2e;cursor:pointer;transition:all .3s}.chip:hover{border-color:#ff6b35}.chip.selected{border-color:#ff6b35;background:linear-gradient(135deg,#ff6b351f,#f7c94814)}.ranking{display:flex;flex-direction:column;gap:12px}.ranking-hint{font-size:13px;color:#6b7280;margin:0}.ranking-selected{background:#f9fafb;border-radius:10px;padding:12px;min-height:50px;border:2px dashed #d1d5db}.ranking-placeholder{color:#9ca3af;text-align:center;padding:12px;font-size:13px}.ranking-item{display:flex;align-items:center;gap:10px;background:linear-gradient(90deg,rgba(255,107,53,.08) 0%,transparent 100%);border-radius:8px;padding:10px;margin-bottom:6px;cursor:grab}.rank-num{width:22px;height:22px;background:#ff6b35;border-radius:6px;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:700;color:#fff}.rank-emoji{font-size:18px}.rank-label{flex:1;font-size:13px;color:#1a1a2e}.rank-remove{width:22px;height:22px;border-radius:50%;background:#e5e7eb;border:none;color:#6b7280;cursor:pointer;font-size:14px}.rank-remove:hover{background:#ef4444;color:#fff}.ranking-options{display:flex;flex-wrap:wrap;gap:6px}.ranking-option{display:flex;align-items:center;gap:6px;background:#fff;border:1px solid #e5e7eb;border-radius:8px;padding:6px 12px;font-size:12px;color:#1a1a2e;cursor:pointer;transition:all .2s}.ranking-option:hover:not(:disabled){border-color:#ff6b35}.ranking-option:disabled{opacity:.3;cursor:not-allowed}.wizard-footer{display:flex;justify-content:space-between;gap:16px;padding:20px 24px;border-top:1px solid #e5e7eb;background:#f9fafb}.btn{display:flex;align-items:center;gap:8px;padding:12px 24px;border-radius:10px;font-size:15px;font-weight:600;cursor:pointer;transition:all .3s}.btn-ghost{background:#fff;border:2px solid #e5e7eb;color:#6b7280}.btn-ghost:hover:not(:disabled){border-color:#ff6b35;color:#ff6b35}.btn-ghost:disabled{opacity:.3;cursor:not-allowed}.btn-primary{background:linear-gradient(135deg,#ff6b35,#f7c948);border:none;color:#fff}.btn-primary:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 8px 25px #ff6b354d}.btn-primary:disabled{opacity:.5;cursor:not-allowed}.btn-success{background:linear-gradient(135deg,#22c55e,#10b981);border:none;color:#fff}.btn-success:hover:not(:disabled){box-shadow:0 8px 25px #22c55e4d}.btn-success:disabled{opacity:.7}.btn-spinner{width:18px;height:18px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin .8s linear infinite}@media(max-width:640px){.wizard-modal{max-height:100vh;border-radius:0;max-width:100%}.wizard-body{padding:16px}.dates-row{flex-direction:column}.visual-cards{grid-template-columns:repeat(2,1fr)}.wizard-footer{flex-direction:column-reverse}.btn{width:100%;justify-content:center}}.modal-overlay{--modal-backdrop: rgba(0, 0, 0, .6);--modal-radius: var(--radius-lg, 16px);--modal-padding: var(--space-xl, 32px);--modal-header-border: var(--light-gray, #E5E7EB);--modal-animation-duration: .3s;--modal-animation-timing: cubic-bezier(.16, 1, .3, 1)}.modal-overlay{position:fixed;inset:0;background:var(--modal-backdrop);display:flex;justify-content:center;align-items:center;z-index:1000;padding:var(--space-lg, 24px)}.modal-overlay--animated{animation:modalFadeIn var(--modal-animation-duration) var(--modal-animation-timing)}@keyframes modalFadeIn{0%{opacity:0}to{opacity:1}}.modal-content{background:var(--white, #FFFFFF);border-radius:var(--modal-radius);box-shadow:var(--shadow-xl, 0 20px 25px rgba(0, 0, 0, .15));width:50vw;min-width:480px;max-width:95vw;max-height:90vh;overflow-y:auto;overflow-x:hidden;outline:none}.modal-content--animated{animation:modalSlideUp var(--modal-animation-duration) var(--modal-animation-timing)}@keyframes modalSlideUp{0%{transform:translateY(24px);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes slideUp{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}.modal--full{max-width:calc(100vw - var(--space-lg, 24px) * 2);max-height:calc(100vh - var(--space-lg, 24px) * 2);width:calc(100vw - var(--space-lg, 24px) * 2);height:calc(100vh - var(--space-lg, 24px) * 2)}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:var(--modal-padding);border-bottom:1px solid var(--modal-header-border);gap:var(--space-md, 16px)}.modal-header h2,.modal-title{margin:0;font-size:1.5rem;font-weight:700;color:var(--text-primary, #111827);line-height:1.2}.modal-close{background:transparent;border:none;cursor:pointer;color:var(--gray, #6B7280);padding:var(--space-sm, 8px);border-radius:var(--radius, 8px);transition:all .2s ease;display:flex;align-items:center;justify-content:center;flex-shrink:0}.modal-close:hover{background:var(--light-gray, #E5E7EB);color:var(--text-primary, #111827)}.modal-close:focus{outline:2px solid var(--primary-orange, #FF8C42);outline-offset:2px}.modal-header-minimal{position:absolute;top:0;left:0;right:0;z-index:10;display:flex;justify-content:space-between;padding:var(--space-lg, 24px);background:linear-gradient(180deg,#0000004d,#0000);border-bottom:none}.modal-header-minimal .modal-close{background:var(--white, #FFFFFF);box-shadow:0 2px 8px #0003;color:var(--text-primary, #111827)}.modal-body{padding:var(--modal-padding)}.modal-body--no-padding{padding:0}.modal-body-scroll{overflow-y:auto;max-height:95vh}.modal-footer{display:flex;gap:var(--space-md, 16px);padding:var(--modal-padding);border-top:1px solid var(--modal-header-border)}.modal-footer--right,.modal-footer:not([class*=modal-footer--]){justify-content:flex-end}.modal-footer--left{justify-content:flex-start}.modal-footer--center{justify-content:center}.modal-footer--between{justify-content:space-between}.modal-tabs{display:flex;border-bottom:1px solid var(--light-gray, #E5E7EB);padding:0 var(--modal-padding);gap:var(--space-md, 16px)}.modal-tabs .tab{background:none;border:none;padding:var(--space-md, 16px) 0;cursor:pointer;color:var(--gray, #6B7280);border-bottom:2px solid transparent;transition:all .2s ease;font-weight:500;font-size:.95rem}.modal-tabs .tab.active{color:var(--primary-orange, #FF8C42);border-bottom-color:var(--primary-orange, #FF8C42)}.modal-tabs .tab:hover:not(.active){color:var(--text-primary, #111827)}.modal-content form{padding:var(--modal-padding)}.form-row{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-md, 16px)}.input-with-button{display:flex;gap:var(--space-sm, 8px)}.input-with-button input{flex:1}.input-with-button .btn{padding:12px 16px;flex-shrink:0}.form-actions{display:flex;justify-content:flex-end;gap:12px;margin-top:24px;padding-top:20px;border-top:1px solid var(--light-gray, #E5E7EB)}.email-list{margin-top:var(--space-md, 16px);display:flex;flex-wrap:wrap;gap:var(--space-sm, 8px)}.email-tag{display:inline-flex;align-items:center;gap:var(--space-sm, 8px);background:var(--light-gray, #E5E7EB);padding:var(--space-sm, 8px) var(--space-md, 16px);border-radius:var(--radius-full, 9999px);font-size:.9rem}.email-tag button{background:none;border:none;cursor:pointer;color:var(--danger, #DC3545);padding:0;display:flex;align-items:center;transition:color .2s ease}.email-tag button:hover{color:#a91c28}.category-selector{display:flex;flex-wrap:wrap;gap:var(--space-sm, 8px)}.category-option{padding:var(--space-sm, 8px) var(--space-md, 16px);border:2px solid var(--border, #D1D5DB);border-radius:var(--radius, 8px);background:var(--white, #FFFFFF);cursor:pointer;transition:all .2s ease;font-size:.9rem;flex:1;min-width:120px;text-align:center}.category-option:hover{transform:translateY(-2px);border-color:var(--primary-orange, #FF8C42)}.category-option.selected{border-color:var(--primary-orange, #FF8C42);background:linear-gradient(135deg,var(--primary-orange, #FF8C42),var(--light-orange, #FFB380));color:var(--white, #FFFFFF)}.method-selector{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-sm, 8px);margin:var(--space-lg, 24px) 0}.method-btn{display:flex;flex-direction:column;align-items:center;gap:var(--space-xs, 4px);padding:var(--space-lg, 24px);border:2px solid var(--light-gray, #E5E7EB);border-radius:var(--radius, 8px);background:var(--white, #FFFFFF);cursor:pointer;transition:all .2s ease;font-size:.9rem}.method-btn:hover{border-color:var(--primary-orange, #FF8C42);transform:translateY(-2px);box-shadow:0 4px 8px #0000001a}.method-btn.active{border-color:var(--primary-orange, #FF8C42);background:linear-gradient(135deg,var(--primary-orange, #FF8C42),var(--light-orange, #FFB380));color:var(--white, #FFFFFF)}.method-btn svg{color:inherit}.search-section{text-align:center}.search-box{margin:var(--space-lg, 24px) 0}.search-results{margin-top:var(--space-lg, 24px);max-height:400px;overflow-y:auto;border:1px solid var(--light-gray, #E5E7EB);border-radius:var(--radius, 8px)}.search-result-item{padding:var(--space-md, 16px);border-bottom:1px solid var(--light-gray, #E5E7EB);cursor:pointer;transition:background .2s ease;display:flex;justify-content:space-between;align-items:center}.search-result-item:hover{background:var(--light-gray, #E5E7EB)}.search-result-item:last-child{border-bottom:none}.result-info{flex:1;text-align:left}.result-info h4{margin:0 0 var(--space-xs, 4px);color:var(--text-primary, #111827)}.result-address{display:flex;align-items:center;gap:var(--space-xs, 4px);color:var(--gray, #6B7280);font-size:.9rem;margin:var(--space-xs, 4px) 0}.result-meta{display:flex;gap:var(--space-md, 16px);font-size:.85rem;color:var(--gray, #6B7280)}.result-rating{color:var(--warning, #FFC107)}.result-price{color:var(--success, #28A745)}.url-extract-box{margin:var(--space-lg, 24px) 0;text-align:left}.url-extract-box .text-muted{margin-bottom:var(--space-md, 16px);text-align:center}.extracting-status{margin-top:var(--space-md, 16px);padding:var(--space-md, 16px);background:#e3f2fd;border-radius:var(--radius, 8px);color:var(--primary-blue, #2563EB);text-align:center;animation:pulse 1.5s ease-in-out infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.7}}.manual-entry-prompt{margin:var(--space-lg, 24px) 0;padding:var(--modal-padding);background:var(--light-gray, #E5E7EB);border-radius:var(--radius, 8px);text-align:center}.manual-entry-prompt p{margin-bottom:var(--space-md, 16px);color:var(--gray, #6B7280)}.checkbox-group{display:flex;flex-direction:column;gap:var(--space-sm, 8px);margin-top:var(--space-sm, 8px)}.checkbox-label{display:flex;align-items:center;gap:var(--space-sm, 8px);cursor:pointer;padding:var(--space-sm, 8px);border-radius:var(--radius, 8px);transition:background .2s ease}.checkbox-label:hover{background:var(--light-gray, #E5E7EB)}.checkbox-label input[type=checkbox]{width:18px;height:18px;cursor:pointer;accent-color:var(--primary-orange, #FF8C42)}.divider{display:flex;align-items:center;margin:var(--modal-padding) 0;text-align:center;color:var(--gray, #6B7280)}.divider:before,.divider:after{content:"";flex:1;border-bottom:1px solid var(--light-gray, #E5E7EB)}.divider span{padding:0 var(--space-md, 16px)}.activity-detail-modal .modal-body{padding:0}.modal-content.activity-detail-modal-enhanced,.modal-content.modal-large,.modal-content.modal-xlarge{max-height:95vh}.activity-hero-section{position:relative;width:100%;background:#fff}.activity-hero-image{width:100%;max-height:450px;object-fit:contain;background:#fff;display:block}.activity-hero-clickable{position:relative;overflow:hidden;background:#fff;display:flex;align-items:center;justify-content:center;min-height:200px;cursor:pointer}.activity-hero-clickable:hover .activity-hero-image{transform:scale(1.02)}.activity-hero-clickable .activity-hero-image{transition:transform .3s ease}.activity-hero-section .activity-hero-placeholder{width:100%;height:200px;display:flex;align-items:center;justify-content:center}.activity-hero-section .activity-hero-placeholder.flight-placeholder{background:linear-gradient(135deg,#e0f2fe,#bae6fd 40%,#7dd3fc);border-bottom:2px solid rgba(56,189,248,.3)}.activity-hero-section .flight-placeholder .placeholder-icon{font-size:4rem;opacity:.85;filter:drop-shadow(0 4px 8px rgba(14,165,233,.3));animation:floatPlaneModal 3s ease-in-out infinite}.activity-hero-section .activity-hero-placeholder.transport-placeholder{background:linear-gradient(135deg,#f8fafc,#e2e8f0 40%,#cbd5e1);border-bottom:2px solid rgba(100,116,139,.25)}.activity-hero-section .transport-placeholder .placeholder-icon{font-size:4rem;opacity:.85;filter:drop-shadow(0 4px 8px rgba(71,85,105,.25))}@keyframes floatPlaneModal{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}.hero-photo-count-badge{position:absolute;bottom:16px;right:16px;background:#000c;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);color:var(--white, #FFFFFF);padding:8px 14px;border-radius:20px;font-size:.9rem;font-weight:600;display:flex;align-items:center;gap:8px;transition:all .2s ease;box-shadow:0 4px 12px #0000004d}.activity-hero-clickable:hover .hero-photo-count-badge{background:#000000f2;transform:scale(1.05)}.activity-thumbnail-strip{display:flex;gap:var(--space-sm, 8px);justify-content:center;padding:var(--space-md, 16px);background:#fff;border-bottom:1px solid var(--light-gray, #E5E7EB)}.activity-thumbnail{width:60px;height:60px;object-fit:cover;border-radius:var(--radius, 8px);border:2px solid var(--light-gray, #E5E7EB);cursor:pointer;transition:all .2s ease;opacity:.7}.activity-thumbnail:hover{transform:scale(1.08);opacity:1;border-color:var(--border, #D1D5DB)}.activity-thumbnail.thumbnail-active{border-color:var(--primary-orange, #FF8C42);border-width:2px;transform:scale(1.1);opacity:1}.activity-main-content{padding:var(--space-xl, 32px)}.activity-title-section{margin-bottom:var(--space-2xl, 48px);text-align:center}.activity-category-badge-large{display:inline-flex;align-items:center;padding:.5rem 1.5rem;border-radius:24px;font-size:.9rem;font-weight:700;letter-spacing:.5px;text-transform:uppercase;margin-bottom:var(--space-md, 16px)}.activity-title-large{font-size:2.5rem;margin:0 0 var(--space-lg, 24px) 0;color:var(--text-primary, #111827);font-weight:700;line-height:1.2}.activity-datetime-section{display:flex;justify-content:center;gap:var(--modal-padding);flex-wrap:wrap}.datetime-item{display:flex;align-items:center;gap:var(--space-sm, 8px);color:var(--gray, #6B7280);font-size:1.1rem}.datetime-item svg{color:var(--primary-orange, #FF8C42)}.datetime-text{font-weight:600;color:var(--text-primary, #111827)}.datetime-duration{color:var(--gray, #6B7280);font-size:.9rem}.activity-description-section{background:linear-gradient(135deg,#ff8c4214,#2563eb14);border-radius:var(--radius-lg, 16px);padding:var(--modal-padding);margin-bottom:var(--space-2xl, 48px)}.description-loading{display:flex;align-items:center;justify-content:center;gap:var(--space-sm, 8px);color:var(--primary-orange, #FF8C42);font-style:italic}.description-loading svg{animation:sparkle 1.5s ease-in-out infinite}@keyframes sparkle{0%,to{opacity:1;transform:rotate(0)}50%{opacity:.6;transform:rotate(180deg)}}.description-tagline{display:flex;align-items:center;gap:var(--space-sm, 8px);color:var(--primary-orange, #FF8C42);font-size:1.3rem;margin-bottom:var(--space-md, 16px);font-weight:600}.description-tagline svg{flex-shrink:0}.description-bullets{list-style:none;padding:0;margin:0}.description-bullets li{padding:var(--space-md, 16px) 0;padding-left:var(--modal-padding);position:relative;line-height:1.6;color:var(--text-primary, #111827)}.description-bullets li:before{content:">";position:absolute;left:0;font-size:1.2rem;color:var(--primary-orange, #FF8C42)}.basic-description p{line-height:1.7;color:var(--gray, #6B7280);margin:0}.activity-two-column{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-2xl, 48px);margin-bottom:var(--space-2xl, 48px);align-items:stretch}.activity-details-column{display:flex;flex-direction:column;gap:var(--space-lg, 24px)}.activity-map-column{display:flex;flex-direction:column}.detail-card{background:var(--white, #FFFFFF);border-radius:var(--radius-lg, 16px);padding:var(--space-lg, 24px);box-shadow:0 2px 8px #0000000d;border:1px solid var(--light-gray, #E5E7EB)}.detail-card h3{display:flex;align-items:center;gap:var(--space-sm, 8px);color:var(--text-primary, #111827);font-size:1rem;margin:0 0 var(--space-md, 16px) 0;font-weight:600}.detail-card h3 svg{color:var(--primary-orange, #FF8C42)}.detail-primary{font-size:1.1rem;color:var(--text-primary, #111827);font-weight:600;margin:var(--space-xs, 4px) 0}.detail-secondary{color:var(--gray, #6B7280);font-size:.95rem;margin:var(--space-xs, 4px) 0}.detail-link{display:flex;align-items:center;gap:var(--space-sm, 8px);padding:var(--space-sm, 8px) 0;color:var(--primary-orange, #FF8C42);text-decoration:none;transition:transform .2s ease;font-weight:500}.detail-link:hover{transform:translate(5px)}.status-open{color:var(--success, #28A745);font-weight:600}.status-closed{color:var(--danger, #DC3545);font-weight:600}.hours-list,.hours-list-compact{list-style:none;padding:0;margin:0}.hours-list li{padding:var(--space-xs, 4px) 0;border-bottom:1px solid var(--light-gray, #E5E7EB)}.hours-list li:last-child{border-bottom:none}.hours-list-compact{font-size:.9rem;color:var(--gray, #6B7280);margin-top:var(--space-sm, 8px)}.hours-list-compact li{padding:var(--space-xs, 4px) 0}.map-container{width:100%;flex:1;min-height:350px;border-radius:var(--radius-lg, 16px);overflow:hidden;box-shadow:0 4px 12px #0000001a}.detail-section{margin-bottom:var(--modal-padding)}.detail-section h3{margin-bottom:var(--space-md, 16px);color:var(--text-primary, #111827);font-size:1.1rem}.detail-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:var(--space-lg, 24px)}.detail-item{display:flex;gap:var(--space-md, 16px);align-items:flex-start}.detail-item svg{color:var(--primary-orange, #FF8C42);flex-shrink:0}.detail-item strong{display:block;margin-bottom:var(--space-xs, 4px);color:var(--text-primary, #111827)}.detail-item p{margin:0;color:var(--gray, #6B7280)}.links-list{display:flex;flex-direction:column;gap:var(--space-sm, 8px)}.link-item{display:flex;align-items:center;gap:var(--space-sm, 8px);padding:var(--space-md, 16px);background:var(--light-gray, #E5E7EB);border-radius:var(--radius, 8px);text-decoration:none;color:var(--text-primary, #111827);transition:all .2s ease}.link-item:hover{background:var(--primary-orange, #FF8C42);color:var(--white, #FFFFFF);transform:translate(5px)}.place-photos{margin-bottom:var(--modal-padding)}.photo-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:var(--space-sm, 8px);border-radius:var(--radius, 8px);overflow:hidden}.place-photo{width:100%;height:200px;object-fit:cover}.photos-content{padding:var(--modal-padding)}.photo-gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:var(--space-md, 16px)}.photo-item img{width:100%;height:200px;object-fit:cover;border-radius:var(--radius, 8px)}.photo-caption{margin-top:var(--space-xs, 4px);font-size:.85rem;color:var(--gray, #6B7280)}.activity-reviews-section{margin-top:var(--space-2xl, 48px);padding-top:var(--space-2xl, 48px);border-top:3px solid var(--light-gray, #E5E7EB)}.activity-reviews-section>h2{font-size:2rem;color:var(--text-primary, #111827);margin-bottom:var(--space-2xl, 48px);text-align:center;font-weight:700;position:relative;padding-bottom:var(--space-md, 16px)}.activity-reviews-section>h2:after{content:"";position:absolute;bottom:0;left:50%;transform:translate(-50%);width:80px;height:4px;background:linear-gradient(90deg,var(--primary-orange, #FF8C42),var(--primary-blue, #2563EB));border-radius:2px}.google-reviews-section{margin-bottom:var(--space-2xl, 48px);padding:var(--modal-padding);background:linear-gradient(135deg,#f8f9fa,#e9ecef);border-radius:var(--radius-lg, 16px);border:1px solid var(--border, #D1D5DB)}.google-rating{margin-bottom:var(--space-md, 16px)}.google-rating-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-lg, 24px)}.rating-summary,.rating-summary-large{display:flex;align-items:center;gap:var(--space-sm, 8px)}.rating-summary-large{justify-content:center;gap:var(--space-lg, 24px);padding:var(--space-lg, 24px);background:var(--white, #FFFFFF);border-radius:var(--radius-lg, 16px);box-shadow:0 4px 12px #00000014}.rating-score{font-size:2rem;font-weight:700;color:var(--text-primary, #111827)}.rating-score-large{font-size:4rem;font-weight:700;color:var(--text-primary, #111827);line-height:1}.rating-count{color:var(--gray, #6B7280)}.google-reviews-list{display:flex;flex-direction:column;gap:var(--space-md, 16px)}.google-review{padding:var(--space-md, 16px);background:var(--light-gray, #E5E7EB);border-radius:var(--radius, 8px)}.google-review p{margin:0;color:var(--gray, #6B7280);line-height:1.5}.reviews-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:var(--space-md, 16px)}.google-review-card{background:var(--white, #FFFFFF);padding:var(--space-lg, 24px);border-radius:var(--radius-lg, 16px);box-shadow:0 3px 8px #00000014;transition:transform .2s ease,box-shadow .2s ease;border:1px solid var(--light-gray, #E5E7EB)}.google-review-card:hover{transform:translateY(-2px);box-shadow:0 6px 16px #0000001f}.google-review-card .review-header{margin-bottom:var(--space-md, 16px);display:flex;justify-content:space-between;align-items:flex-start}.google-review-card .review-header strong{font-size:1rem;color:var(--text-primary, #111827)}.google-review-card .review-rating{font-size:.9rem;margin-top:2px}.google-review-card p{color:#4a5568;line-height:1.7;font-size:.95rem;margin:0;display:-webkit-box;-webkit-line-clamp:5;-webkit-box-orient:vertical;overflow:hidden}.google-review-card .review-time{display:block;margin-top:var(--space-sm, 8px);font-size:.8rem;color:var(--gray, #6B7280);font-style:italic}.user-reviews-section{margin-top:var(--space-2xl, 48px);padding:var(--modal-padding);background:var(--white, #FFFFFF);border-radius:var(--radius-lg, 16px);border:1px solid var(--light-gray, #E5E7EB)}.user-reviews-section>h3{margin-bottom:var(--space-lg, 24px);color:var(--text-primary, #111827);font-size:1.3rem;padding-bottom:var(--space-md, 16px);border-bottom:2px solid var(--light-gray, #E5E7EB)}.review-card{background:linear-gradient(135deg,#f8f9fa,#fff);padding:var(--modal-padding);border-radius:var(--radius-lg, 16px);margin-bottom:var(--space-lg, 24px);border:1px solid var(--border, #D1D5DB);box-shadow:0 2px 6px #0000000d;transition:box-shadow .2s ease}.review-card:hover{box-shadow:0 4px 12px #0000001a}.review-card .review-header{margin-bottom:var(--space-lg, 24px);display:flex;justify-content:space-between;align-items:flex-start}.review-card .review-header>div{flex:1}.review-card .review-header strong{font-size:1.1rem;color:var(--text-primary, #111827);display:block;margin-bottom:var(--space-xs, 4px)}.review-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-sm, 8px)}.review-rating{display:flex;gap:2px;margin-top:var(--space-xs, 4px);color:var(--warning, #FFC107)}.review-scores{display:flex;gap:var(--space-md, 16px);margin-bottom:var(--space-md, 16px)}.score-badge{background:var(--white, #FFFFFF);padding:var(--space-xs, 4px) var(--space-sm, 8px);border-radius:var(--radius, 8px);font-size:.85rem}.score-label{color:var(--gray, #6B7280);margin-right:var(--space-xs, 4px)}.score-value{font-weight:700;color:var(--primary-orange, #FF8C42)}.review-comment{margin:var(--space-lg, 24px) 0;padding:var(--space-md, 16px);background:var(--white, #FFFFFF);border-radius:var(--radius, 8px);border-left:3px solid var(--primary-blue, #2563EB)}.review-comment p{color:var(--text-primary, #111827);line-height:1.7;font-size:.95rem;margin:0}.review-notes{background:linear-gradient(135deg,#fffdf7,#fffbf0);padding:var(--space-lg, 24px);border-radius:var(--radius-lg, 16px);border:1px solid #f5e6c8;border-left:4px solid var(--warning, #FFC107);margin-top:var(--space-lg, 24px);box-shadow:0 2px 4px #0000000d}.review-notes strong{display:block;margin-bottom:var(--space-sm, 8px);color:#8b6914;font-size:.95rem;text-transform:uppercase;letter-spacing:.5px}.review-notes p{color:#5a4a0f;line-height:1.7;margin:0}.review-date{font-size:.85rem;margin-top:var(--space-lg, 24px);color:var(--gray, #6B7280);font-style:italic}.reviews-content{padding:var(--modal-padding)}.add-review-section{margin-bottom:var(--modal-padding);text-align:center;padding:var(--space-lg, 24px);background:linear-gradient(135deg,#ff8c421a,#2563eb1a);border-radius:var(--radius-lg, 16px);border:1px solid rgba(255,140,66,.2)}.add-review-section .btn-primary{padding:var(--space-md, 16px) var(--modal-padding);font-size:1rem;font-weight:600;box-shadow:0 4px 8px #ff8c4233;transition:all .3s ease}.add-review-section .btn-primary:hover{transform:translateY(-2px);box-shadow:0 6px 12px #ff8c424d}.user-review-section,.other-reviews-section{margin-bottom:var(--modal-padding)}.review-form{background:var(--white, #FFFFFF);padding:var(--space-lg, 24px);border-radius:var(--radius, 8px);border:1px solid var(--light-gray, #E5E7EB);margin-bottom:var(--space-lg, 24px)}.star-rating{display:flex;gap:var(--space-xs, 4px);margin-top:var(--space-sm, 8px)}.label-hint{display:block;font-size:.85rem;font-weight:400;color:var(--gray, #6B7280);margin-top:var(--space-xs, 4px)}.review-form-new .form-actions .btn{padding:12px 24px;font-size:.95rem;font-weight:600;border-radius:var(--radius-md, 12px);transition:all .2s ease}.review-form-new .form-actions .btn-ghost{color:var(--gray, #6B7280)}.review-form-new .form-actions .btn-ghost:hover{background:#f1f3f4;color:#495057}.review-form-new .form-actions .btn-secondary{background:#f8f9fa;border:2px solid var(--border, #D1D5DB);color:#495057}.review-form-new .form-actions .btn-secondary:hover{background:var(--light-gray, #E5E7EB);border-color:#ced4da}.review-form-new .form-actions .btn-primary{background:linear-gradient(135deg,var(--primary-orange, #FF8C42) 0%,#F56B2A 100%);border:none;box-shadow:0 4px 12px #f56b2a4d}.review-form-new .form-actions .btn-primary:hover{transform:translateY(-2px);box-shadow:0 6px 16px #f56b2a66}.source-badge{font-size:.7rem;font-weight:700;letter-spacing:.05em;padding:4px 10px;border-radius:var(--radius-sm, 4px);text-transform:uppercase}.source-badge.source-google{background:linear-gradient(135deg,#4285f4,#34a853);color:var(--white, #FFFFFF)}.source-badge.source-vamo{background:linear-gradient(135deg,var(--primary-orange, #FF8C42) 0%,#F56B2A 100%);color:var(--white, #FFFFFF)}.section-header-with-badge{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-lg, 24px);padding-bottom:var(--space-md, 16px);border-bottom:2px solid var(--light-gray, #E5E7EB)}.section-header-with-badge h3{margin:0;color:var(--text-primary, #111827);font-size:1.3rem;border-bottom:none;padding-bottom:0}.review-score-primary{display:flex;align-items:baseline;gap:4px;margin-top:var(--space-xs, 4px)}.review-score-primary .score-number{font-size:1.5rem;font-weight:700;color:var(--primary-orange, #FF8C42)}.review-score-primary .score-max{font-size:.9rem;color:var(--gray, #6B7280)}.review-score-primary .score-label-text{font-size:.85rem;color:var(--gray, #6B7280);margin-left:var(--space-sm, 8px)}.review-scores-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-md, 16px);margin:var(--space-md, 16px) 0;padding:var(--space-md, 16px);background:#f8f9fa;border-radius:var(--radius, 8px)}.review-scores-grid .score-item{display:flex;flex-direction:column;align-items:center;text-align:center}.review-scores-grid .score-label{font-size:.75rem;color:var(--gray, #6B7280);margin-bottom:4px}.review-scores-grid .score-value{font-size:1.1rem;font-weight:600;color:var(--text-primary, #111827)}.review-modal{background:#fafafa;border-radius:24px;box-shadow:0 30px 60px #0000004d;max-height:90vh;overflow-y:auto;animation:modalSlideUp .3s ease}.review-modal-header{display:flex;justify-content:space-between;align-items:center;padding:24px 32px;border-bottom:none;background:linear-gradient(135deg,var(--primary-orange, #FF8C42) 0%,#F56B2A 100%);border-radius:24px 24px 0 0}.review-modal-header h2{margin:0;color:var(--white, #FFFFFF);font-size:1.6rem;font-weight:700;text-shadow:0 2px 4px rgba(0,0,0,.1)}.modal-close-btn{background:#ffffff40;border:none;border-radius:50%;width:44px;height:44px;display:flex;align-items:center;justify-content:center;cursor:pointer;color:var(--white, #FFFFFF);transition:all .2s ease}.modal-close-btn:hover{background:#fff6;transform:scale(1.1)}.review-form-new{padding:32px}.review-scores-section{display:flex;flex-direction:column;gap:8px;margin-bottom:var(--modal-padding)}.bubble-selector{padding:24px 20px;background:var(--white, #FFFFFF);border-radius:var(--radius-lg, 16px);margin-bottom:12px;box-shadow:0 2px 8px #0000000a;border:1px solid var(--light-gray, #E5E7EB);transition:box-shadow .2s ease}.bubble-selector:hover{box-shadow:0 4px 12px #00000014}.bubble-selector:last-child{margin-bottom:0}.bubble-question{font-size:1.15rem;font-weight:700;color:var(--text-primary, #111827);margin:0 0 16px;text-align:left;line-height:1.4}.bubble-scale-labels{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.scale-label{font-size:.8rem;font-weight:500;color:var(--gray, #6B7280)}.bubbles-container{display:flex;justify-content:center}.bubbles{display:flex;gap:8px;justify-content:space-between;width:100%}.bubble{width:50px;height:50px;border-radius:50%;border:2.5px solid var(--border, #D1D5DB);background:#f8f9fa;font-size:1.15rem;font-weight:700;color:#495057;cursor:pointer;transition:all .15s ease;display:flex;align-items:center;justify-content:center}.bubble:hover{transform:scale(1.15);border-color:var(--primary-orange, #FF8C42);background:var(--white, #FFFFFF)}.bubble-low:hover,.bubble-mid:hover,.bubble-high:hover{border-color:var(--primary-orange, #FF8C42);background:#fff8f5;color:#495057}.bubble-selected{transform:scale(1.25);box-shadow:0 8px 20px #ff8c4240}.bubble-selected.bubble-low,.bubble-selected.bubble-mid,.bubble-selected.bubble-high{background:linear-gradient(145deg,var(--primary-orange, #FF8C42) 0%,#F56B2A 100%);border-color:#e85a1f;color:var(--white, #FFFFFF)}.review-comment-card{background:var(--white, #FFFFFF);border-radius:var(--radius-lg, 16px);padding:24px;margin-bottom:12px;box-shadow:0 2px 8px #0000000a;border:1px solid var(--light-gray, #E5E7EB);transition:box-shadow .2s ease}.review-comment-card:hover{box-shadow:0 4px 12px #00000014}.review-comment-card label{font-size:1.1rem;font-weight:700;color:var(--text-primary, #111827);margin-bottom:12px;display:block;text-align:left}.review-comment-card textarea{width:100%;padding:14px 16px;border:2px solid var(--light-gray, #E5E7EB);border-radius:var(--radius-md, 12px);font-size:.95rem;line-height:1.6;resize:vertical;transition:border-color .2s ease,box-shadow .2s ease;font-family:inherit;background:#fafafa}.review-comment-card textarea:focus{outline:none;border-color:var(--primary-orange, #FF8C42);box-shadow:0 0 0 3px #ff8c4226;background:var(--white, #FFFFFF)}.review-comment-card textarea::placeholder{color:#adb5bd}.review-comment-private{background:linear-gradient(135deg,#fffdf7,#fffbf0);border-color:#f5e6c8}.review-comment-private label{color:#8b6914}.review-comment-private textarea{background:#fffef9;border-color:#f0dca0}.review-comment-private textarea:focus{border-color:#d4a017;box-shadow:0 0 0 3px #d4a01726}.label-optional{font-weight:400;color:var(--gray, #6B7280);font-size:.8rem;margin-left:6px}.field-error{color:var(--danger, #DC3545);font-size:.8rem;margin-top:6px;display:block;font-weight:500}.empty-state{text-align:center;padding:var(--space-2xl, 48px);color:var(--gray, #6B7280)}.empty-state svg{margin-bottom:var(--space-md, 16px);opacity:.5}.empty-state-small{text-align:center;padding:var(--space-2xl, 48px) var(--modal-padding);color:var(--gray, #6B7280);background:linear-gradient(135deg,#f8f9fa,#fff);border-radius:var(--radius-lg, 16px);border:2px dashed var(--border, #D1D5DB)}.empty-state-small svg{margin-bottom:var(--space-md, 16px);opacity:.5}.empty-state-small p{font-size:1rem;margin:0;color:var(--gray, #6B7280)}.error-message{background:#fff5f5;border:1px solid #feb2b2;border-radius:var(--radius-md, 12px);padding:12px 16px;color:#c53030;font-size:.9rem;margin-bottom:var(--space-lg, 24px)}.text-muted{color:var(--gray, #6B7280);font-size:.9rem}.text-success{color:var(--success, #28A745)}.text-danger{color:var(--danger, #DC3545)}.btn-block{width:100%}.btn-sm{padding:8px 12px;font-size:.85rem}@media(max-width:768px){.modal-overlay{padding:var(--space-md, 16px)}.modal-content{margin:var(--space-md, 16px);max-height:calc(100vh - var(--space-md, 16px) * 2)}.modal--lg,.modal-large{max-width:100%}.modal--xl,.modal-xlarge{max-width:100%;max-height:100vh}.activity-detail-modal-enhanced{min-width:unset}.modal--full{max-width:100vw;max-height:100vh;width:100vw;height:100vh;border-radius:0}.modal-header,.modal-body,.modal-footer{padding:var(--space-lg, 24px)}.modal-title,.modal-header h2{font-size:1.25rem}.activity-hero-image{max-height:280px}.activity-main-content{padding:var(--space-lg, 24px)}.activity-title-large{font-size:1.8rem}.activity-datetime-section{flex-direction:column;align-items:flex-start;gap:var(--space-sm, 8px)}.activity-two-column{grid-template-columns:1fr}.activity-map-column{order:-1}.map-container{min-height:250px;flex:none;height:300px}.reviews-grid,.form-row{grid-template-columns:1fr}.modal-footer{flex-direction:column}.modal-footer .btn{width:100%}.detail-grid{grid-template-columns:1fr}.category-selector{flex-direction:column}.category-option{min-width:auto}.method-selector{grid-template-columns:1fr}.method-btn{flex-direction:row;justify-content:center;padding:var(--space-md, 16px)}.review-modal{margin:var(--space-sm, 8px);max-height:95vh;border-radius:var(--radius-lg, 16px)}.review-modal-header{padding:var(--space-lg, 24px);border-radius:var(--radius-lg, 16px) var(--radius-lg, 16px) 0 0}.review-form-new{padding:var(--space-lg, 24px)}.bubble-question{font-size:1rem}.bubble{width:36px;height:36px;font-size:.9rem;border-width:2px}.bubbles{gap:6px}.scale-label{font-size:.75rem}.review-scores-grid{grid-template-columns:1fr;gap:var(--space-sm, 8px)}}@media(max-width:480px){.modal-header,.modal-body,.modal-footer{padding:var(--space-md, 16px)}.bubble{width:32px;height:32px;font-size:.85rem}.bubbles{gap:4px}}.bucket-detail-modal{max-height:90vh;display:flex;flex-direction:column}.bucket-detail-header{position:relative;background:transparent;z-index:10}.bucket-detail-header .modal-close{background:var(--white, #FFFFFF);box-shadow:0 2px 8px #00000026}.bucket-detail-actions{display:flex;align-items:center;gap:var(--space-sm, 8px)}.bucket-detail-actions .toggle-status-btn{display:flex;align-items:center;gap:6px;padding:8px 14px;background:var(--white, #FFFFFF);border-radius:var(--radius-full, 9999px);box-shadow:0 2px 8px #00000026;font-weight:500;font-size:.9rem;color:var(--text-secondary, #6B7280);transition:all .2s ease}.bucket-detail-actions .toggle-status-btn:hover{background:#f0f9f0;color:#2e7d32}.bucket-detail-actions .toggle-status-btn.completed{background:#e8f5e9;color:#2e7d32}.bucket-detail-actions .toggle-status-btn .check-completed{color:#4caf50}.bucket-detail-actions .btn{background:var(--white, #FFFFFF);box-shadow:0 2px 8px #00000026}.bucket-detail-actions .btn-danger-hover:hover{background:#fff5f5;color:var(--danger, #DC3545)}.bucket-detail-body{flex:1;overflow-y:auto}.bucket-detail-hero{position:relative;width:100%;height:280px;background:linear-gradient(135deg,#e8ecf4,#d4dae6);overflow:hidden}.bucket-detail-image{width:100%;height:100%;object-fit:cover;transition:transform .3s ease}.bucket-detail-image.completed-image{filter:grayscale(60%);opacity:.85}.bucket-detail-no-image{width:100%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-sm, 8px);color:var(--gray, #6B7280);background:linear-gradient(135deg,#f0f4f8,#e2e8f0)}.bucket-detail-no-image span{font-size:.9rem}.bucket-detail-completed-badge{position:absolute;top:var(--space-md, 16px);right:var(--space-md, 16px);display:flex;align-items:center;gap:6px;padding:8px 14px;background:linear-gradient(135deg,#4caf50,#2e7d32);color:var(--white, #FFFFFF);border-radius:var(--radius-full, 9999px);font-size:.85rem;font-weight:600;box-shadow:0 2px 12px #2e7d3266}.bucket-detail-content{padding:var(--space-xl, 32px)}.bucket-detail-category{display:inline-flex;align-items:center;padding:6px 14px;border-radius:var(--radius-full, 9999px);font-size:.8rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px;margin-bottom:var(--space-md, 16px)}.bucket-detail-title{font-size:1.75rem;font-weight:700;color:var(--text-primary, #111827);margin:0 0 var(--space-md, 16px) 0;line-height:1.2}.bucket-detail-location{display:flex;align-items:center;gap:var(--space-sm, 8px);color:var(--text-secondary, #6B7280);font-size:1rem;margin-bottom:var(--space-md, 16px)}.bucket-detail-location svg{color:var(--primary-orange, #FF8C42);flex-shrink:0}.bucket-detail-rating{display:flex;align-items:center;gap:var(--space-sm, 8px);margin-bottom:var(--space-lg, 24px)}.bucket-detail-rating .rating-value{font-size:1.1rem;font-weight:700;color:var(--text-primary, #111827)}.bucket-detail-rating .rating-count{font-size:.9rem;color:var(--gray, #6B7280)}.bucket-detail-section{margin-bottom:var(--space-xl, 32px)}.bucket-detail-section h3{font-size:.85rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--gray, #6B7280);margin:0 0 var(--space-sm, 8px) 0}.bucket-detail-description{font-size:1rem;line-height:1.7;color:var(--text-primary, #111827);margin:0;white-space:pre-wrap}.bucket-detail-completed-date{display:inline-flex;align-items:center;gap:6px;padding:8px 14px;background:linear-gradient(135deg,#e8f5e9,#c8e6c9);color:#2e7d32;border-radius:var(--radius-full, 9999px);font-size:.85rem;font-weight:500;margin-bottom:var(--space-lg, 24px)}.bucket-detail-map-section{margin-top:var(--space-lg, 24px)}.bucket-detail-map-container{width:100%;height:250px;border-radius:var(--radius-lg, 16px);overflow:hidden;box-shadow:0 4px 12px #0000001a}.bucket-detail-map-loading{display:flex;align-items:center;justify-content:center;gap:var(--space-sm, 8px);padding:var(--space-xl, 32px);color:var(--gray, #6B7280)}.bucket-detail-info-cards{display:flex;flex-wrap:wrap;gap:var(--space-sm, 8px);margin-bottom:var(--space-lg, 24px)}.bucket-detail-info-card{display:flex;align-items:center;gap:var(--space-sm, 8px);padding:10px 14px;background:var(--light-gray, #E5E7EB);border-radius:var(--radius, 8px);font-size:.9rem;color:var(--text-primary, #111827)}.bucket-detail-info-card svg{color:var(--primary-orange, #FF8C42);flex-shrink:0}.bucket-detail-link{text-decoration:none;transition:all .2s ease}.bucket-detail-link:hover{background:var(--primary-blue, #2563EB);color:var(--white, #FFFFFF)}.bucket-detail-link:hover svg{color:var(--white, #FFFFFF)}.bucket-detail-info-card .status-open{color:#2e7d32;font-weight:600}.bucket-detail-info-card .status-closed{color:var(--danger, #DC3545);font-weight:600}.bucket-detail-external-links{display:flex;gap:var(--space-md, 16px);margin-top:var(--space-lg, 24px)}.bucket-detail-external-links .btn{display:flex;align-items:center;gap:var(--space-sm, 8px);text-decoration:none}@media(max-width:768px){.bucket-detail-modal{max-width:100%;max-height:100vh;border-radius:0}.bucket-detail-hero{height:220px}.bucket-detail-content{padding:var(--space-lg, 24px)}.bucket-detail-title{font-size:1.5rem}.bucket-detail-map-container{height:200px}.bucket-detail-external-links{flex-direction:column}.bucket-detail-external-links .btn{width:100%;justify-content:center}}.travel-agent-modal{max-width:780px}.travel-agent-header{display:flex;align-items:center;justify-content:space-between;padding-bottom:16px;border-bottom:1px solid rgba(255,140,66,.2)}.travel-agent-title{display:flex;align-items:center;gap:12px}.travel-agent-title svg{color:#ff8c42}.travel-agent-title h2{margin:0;font-size:1.5rem;background:linear-gradient(135deg,#ff8c42,#ff6b35);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.travel-agent-intro{display:flex;align-items:flex-start;gap:16px;padding:20px;margin:16px 0;background:linear-gradient(135deg,#ff8c421a,#ff6b350d);border-radius:12px;border:1px solid rgba(255,140,66,.2)}.travel-agent-intro .intro-icon{flex-shrink:0;width:48px;height:48px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#ff8c42,#ff6b35);border-radius:12px;color:#fff}.travel-agent-intro p{margin:0;color:#64748b;font-size:.95rem;line-height:1.5}.travel-agent-modal .form-group label{display:flex;align-items:center;gap:6px}.travel-agent-modal .form-group label svg{color:#64748b}.duration-preview{display:flex;align-items:center;gap:8px;padding:12px 16px;background:#2563eb1a;border-radius:8px;color:#2563eb;font-weight:500;margin:8px 0 16px}.duration-preview svg{flex-shrink:0}.janice-note{display:flex;align-items:flex-start;gap:12px;padding:16px;background:linear-gradient(135deg,#8b5cf61a,#a855f70d);border-radius:12px;border:1px solid rgba(139,92,246,.2);margin:16px 0}.janice-note .janice-avatar{flex-shrink:0;width:36px;height:36px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#8b5cf6,#a855f7);border-radius:50%;font-size:1.1rem}.janice-note p{margin:0;color:#64748b;font-size:.9rem;line-height:1.5}.janice-note p strong{color:#8b5cf6}.travel-agent-modal .modal-footer{margin-top:24px;padding-top:16px;border-top:1px solid #e2e8f0}.travel-agent-modal .btn-primary{display:flex;align-items:center;gap:8px}.mode-toggle-container{display:flex;align-items:center;gap:12px;padding:12px 20px;background:#0f172a08;border-radius:12px;margin-bottom:16px}.mode-toggle-label{display:flex;align-items:center;gap:8px;font-size:.95rem;color:#64748b}.mode-toggle-label svg{color:#ff8c42}.mode-toggle-label.active{color:#ff8c42;font-weight:500}.toggle-switch{position:relative;width:52px;height:28px;background:#e2e8f0;border-radius:14px;cursor:pointer;transition:background .3s ease}.toggle-switch.active{background:linear-gradient(135deg,#ff8c42,#ff6b35)}.toggle-switch:after{content:"";position:absolute;top:3px;left:3px;width:22px;height:22px;background:#fff;border-radius:50%;box-shadow:0 2px 4px #0003;transition:transform .3s ease}.toggle-switch.active:after{transform:translate(24px)}.toggle-hint{font-size:.8rem;color:#94a3b8;margin-left:auto}.toggle-hint.active{color:#ff8c42}.action-card.travel-agent{border:2px dashed rgba(255,140,66,.3);background:linear-gradient(135deg,#ff8c420d,#ff6b3505)}.action-card.travel-agent:hover{border-color:#ff8c42;background:linear-gradient(135deg,#ff8c421a,#ff6b350d)}.action-card.travel-agent .action-icon{background:linear-gradient(135deg,#ff8c42,#ff6b35);color:#fff}.invite-modal{overflow:hidden}.invite-modal-header{display:flex;justify-content:space-between;align-items:center;padding:var(--space-lg) var(--space-xl);background:linear-gradient(135deg,var(--primary-blue),var(--dark-blue));color:var(--white)}.invite-modal-header h2{display:flex;align-items:center;gap:var(--space-sm);margin:0;font-size:1.35rem;color:var(--white)}.invite-modal .modal-close{background:#fff3;border:none;color:var(--white);padding:var(--space-sm);border-radius:var(--radius);cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center}.invite-modal .modal-close:hover{background:#ffffff59;transform:scale(1.05)}.invite-modal-tabs{display:flex;border-bottom:1px solid var(--light-gray);background:#fafafa}.invite-tab{flex:1;display:flex;align-items:center;justify-content:center;gap:var(--space-sm);padding:var(--space-md) var(--space-lg);background:none;border:none;border-bottom:3px solid transparent;color:var(--gray);font-size:.95rem;font-weight:500;cursor:pointer;transition:all .2s ease}.invite-tab:hover{color:var(--dark-gray);background:var(--light-gray)}.invite-tab.active{color:var(--primary-blue);border-bottom-color:var(--primary-blue);background:var(--white)}.invite-tab svg{flex-shrink:0}.invite-message{margin:var(--space-md) var(--space-xl) 0;padding:var(--space-md);border-radius:var(--radius-md);font-size:.9rem;text-align:center}.invite-error{background:#fef2f2;color:#dc2626;border:1px solid #fecaca}.invite-success{background:#f0fdf4;color:#16a34a;border:1px solid #bbf7d0}.invite-modal-body{padding:var(--space-xl)}.invite-email-form{display:flex;flex-direction:column;gap:var(--space-lg)}.invite-email-form .form-group{display:flex;flex-direction:column;gap:var(--space-sm)}.invite-email-form label{font-weight:600;color:var(--dark-gray);font-size:.95rem}.invite-email-form .optional{font-weight:400;color:var(--gray);font-size:.85rem}.invite-input,.invite-textarea{padding:var(--space-md);border:2px solid var(--light-gray);border-radius:var(--radius-md);font-size:1rem;transition:all .2s ease;font-family:inherit;background:var(--white)}.invite-input:focus,.invite-textarea:focus{outline:none;border-color:var(--primary-blue);box-shadow:0 0 0 4px #2563eb1a}.invite-input:disabled,.invite-textarea:disabled{background:var(--light-gray);cursor:not-allowed}.invite-input::placeholder,.invite-textarea::placeholder{color:var(--gray)}.invite-textarea{resize:vertical;min-height:80px}.invite-send-btn{display:flex;align-items:center;justify-content:center;gap:var(--space-sm);padding:var(--space-md) var(--space-lg);font-size:1rem;font-weight:600;margin-top:var(--space-sm)}.invite-send-btn .spinner{animation:inviteSpin 1s linear infinite}@keyframes inviteSpin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.invite-search-section{min-height:200px}.invite-search-wrapper{position:relative}.invite-search-wrapper .search-icon{position:absolute;left:14px;top:50%;transform:translateY(-50%);color:var(--gray);pointer-events:none}.invite-search-input{width:100%;padding:14px 48px;border:2px solid var(--light-gray);border-radius:var(--radius-md);font-size:1rem;transition:all .2s ease;background:var(--white)}.invite-search-input:focus{outline:none;border-color:var(--primary-blue);box-shadow:0 0 0 4px #2563eb1a}.invite-search-input::placeholder{color:var(--gray)}.invite-search-wrapper .search-spinner{position:absolute;right:14px;top:50%;transform:translateY(-50%);color:var(--primary-blue);animation:inviteSpin 1s linear infinite}.invite-search-wrapper .search-clear{position:absolute;right:14px;top:50%;transform:translateY(-50%);background:var(--light-gray);border:none;border-radius:50%;width:28px;height:28px;display:flex;align-items:center;justify-content:center;cursor:pointer;color:var(--gray);transition:all .2s ease}.invite-search-wrapper .search-clear:hover{background:var(--border);color:var(--dark-gray)}.invite-search-results{margin-top:var(--space-md);border:1px solid var(--light-gray);border-radius:var(--radius-md);max-height:240px;overflow-y:auto}.invite-user-item{display:flex;align-items:center;gap:var(--space-md);padding:var(--space-md);border-bottom:1px solid var(--light-gray);transition:background .15s ease}.invite-user-item:last-child{border-bottom:none}.invite-user-item:hover{background:#f8fafc}.invite-user-avatar{flex-shrink:0;width:44px;height:44px;border-radius:50%;background:linear-gradient(135deg,var(--primary-blue),var(--light-blue));display:flex;align-items:center;justify-content:center;overflow:hidden}.invite-user-avatar img{width:100%;height:100%;object-fit:cover}.invite-user-avatar span{color:var(--white);font-weight:600;font-size:1.1rem}.invite-user-info{flex:1;min-width:0}.invite-user-name{display:block;font-weight:600;color:var(--dark-blue);font-size:.95rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.invite-user-email{display:block;color:var(--gray);font-size:.85rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.invite-add-btn{flex-shrink:0;display:flex;align-items:center;gap:6px;padding:8px 14px;font-size:.85rem}.invite-add-btn .spinner{animation:inviteSpin 1s linear infinite}.invite-no-results,.invite-search-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--space-xl);text-align:center;color:var(--gray)}.invite-no-results svg,.invite-search-empty svg{opacity:.3;margin-bottom:var(--space-md);color:var(--primary-blue)}.invite-no-results p{color:var(--dark-gray);font-weight:500;margin-bottom:var(--space-xs)}.invite-no-results span{font-size:.9rem}.invite-search-empty p{font-size:.95rem;max-width:280px;line-height:1.5;margin:0}.invite-pending-section{padding:var(--space-lg) var(--space-xl);background:#f8fafc;border-top:1px solid var(--light-gray)}.invite-pending-section h3{display:flex;align-items:center;gap:var(--space-sm);color:var(--dark-gray);font-size:1rem;font-weight:600;margin-bottom:var(--space-md)}.pending-count{background:var(--primary-blue);color:var(--white);font-size:.75rem;font-weight:700;padding:2px 8px;border-radius:var(--radius-full);margin-left:var(--space-xs)}.invite-pending-loading{display:flex;align-items:center;justify-content:center;gap:var(--space-sm);padding:var(--space-lg);color:var(--gray)}.invite-pending-loading .spinner{animation:inviteSpin 1s linear infinite;color:var(--primary-blue)}.invite-pending-list{display:flex;flex-direction:column;gap:var(--space-sm)}.invite-pending-item{display:flex;align-items:center;justify-content:space-between;padding:var(--space-md);background:var(--white);border-radius:var(--radius-md);border:1px solid var(--light-gray)}.invite-pending-info{display:flex;flex-direction:column;gap:2px;min-width:0}.invite-pending-email{font-weight:500;color:var(--dark-gray);font-size:.95rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.invite-pending-date{font-size:.8rem;color:var(--gray)}.invite-cancel-btn{flex-shrink:0;background:none;border:none;color:var(--gray);padding:var(--space-sm);border-radius:var(--radius);cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center}.invite-cancel-btn:hover{background:#fef2f2;color:#dc2626}.invite-cancel-btn:disabled{cursor:not-allowed;opacity:.5}.invite-cancel-btn .spinner{animation:inviteSpin 1s linear infinite}.invite-pending-empty{text-align:center;padding:var(--space-md);color:var(--gray);font-size:.9rem}.invite-pending-empty p{margin:0}@media(max-width:640px){.invite-modal-overlay{padding:0;align-items:flex-end}.invite-modal{max-width:100%;border-radius:var(--radius-lg) var(--radius-lg) 0 0;max-height:90vh;display:flex;flex-direction:column}.invite-modal-header{padding:var(--space-md) var(--space-lg)}.invite-modal-body{padding:var(--space-lg);flex:1;overflow-y:auto}.invite-pending-section{padding:var(--space-md) var(--space-lg)}.invite-tab{padding:var(--space-sm) var(--space-md);font-size:.9rem}.invite-tab svg{display:none}.invite-search-results{max-height:200px}.invite-user-item{flex-wrap:wrap;gap:var(--space-sm)}.invite-add-btn{width:100%;justify-content:center;margin-top:var(--space-xs)}.invite-user-info{flex:1}}.photo-gallery-backdrop{position:fixed;inset:0;background:#fff;z-index:2000;display:flex;align-items:center;justify-content:center;animation:fadeIn .2s ease}.photo-gallery-container{width:100%;height:100%;display:flex;flex-direction:column;position:relative;overflow:hidden}.photo-gallery-header{display:flex;justify-content:space-between;align-items:center;padding:16px 24px;background:#fff;border-bottom:1px solid #e5e7eb;flex-shrink:0;z-index:10}.photo-gallery-title{display:flex;align-items:center;gap:16px}.photo-gallery-title h3{margin:0;color:#111827;font-size:1.25rem;font-weight:600;letter-spacing:-.3px}.photo-count{color:#6b7280;font-size:.9rem;background:#f3f4f6;padding:4px 12px;border-radius:20px}.photo-gallery-actions{display:flex;gap:8px}.gallery-action-btn{background:#f3f4f6;border:none;color:#374151;padding:10px;border-radius:10px;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center}.gallery-action-btn:hover{background:#e5e7eb}.gallery-action-btn.active{background:#d1d5db}.gallery-close-btn{background:#f3f4f6;border:none;color:#374151;padding:10px;border-radius:10px;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center}.gallery-close-btn:hover{background:#fee2e2;color:#dc2626;transform:scale(1.05)}.photo-gallery-single{flex:1;display:flex;flex-direction:column;justify-content:center;align-items:center;padding:24px 80px;position:relative;min-height:0;overflow:hidden}.gallery-nav-btn{position:absolute;top:50%;transform:translateY(-50%);background:#f3f4f6;border:1px solid #e5e7eb;color:#374151;padding:16px;border-radius:50%;cursor:pointer;transition:all .2s ease;z-index:5;display:flex;align-items:center;justify-content:center;box-shadow:0 2px 8px #0000001a}.gallery-nav-btn.prev{left:20px}.gallery-nav-btn.next{right:20px}.gallery-nav-btn:hover{background:#e5e7eb;transform:translateY(-50%) scale(1.1)}.photo-gallery-main{flex:1;display:flex;align-items:center;justify-content:center;width:100%;min-height:0;overflow:hidden}.gallery-main-image{max-width:100%;max-height:100%;object-fit:contain;border-radius:8px;box-shadow:0 4px 20px #00000026;animation:imageReveal .3s ease}@keyframes imageReveal{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.photo-gallery-thumbnails{display:flex;gap:8px;padding:16px 24px;overflow-x:auto;justify-content:center;background:#fff;border-top:1px solid #e5e7eb;flex-shrink:0}.gallery-thumbnail{width:60px;height:60px;border:2px solid #e5e7eb;border-radius:8px;overflow:hidden;cursor:pointer;transition:all .2s ease;background:none;padding:0;flex-shrink:0;opacity:.7}.gallery-thumbnail img{width:100%;height:100%;object-fit:cover}.gallery-thumbnail:hover{opacity:1;transform:scale(1.08);border-color:#d1d5db}.gallery-thumbnail.active{border-color:#ff8c42;opacity:1;transform:scale(1.1)}.photo-gallery-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:16px;padding:80px 24px 24px;overflow-y:auto;max-height:100vh}.gallery-grid-item{aspect-ratio:1;border:1px solid #e5e7eb;border-radius:12px;overflow:hidden;cursor:pointer;transition:all .3s ease;background:#f9fafb;padding:0}.gallery-grid-item img{width:100%;height:100%;object-fit:cover}.gallery-grid-item:hover{transform:scale(1.02);box-shadow:0 8px 24px #00000026}.photo-gallery-thumbnails::-webkit-scrollbar,.photo-gallery-grid::-webkit-scrollbar{height:6px;width:6px}.photo-gallery-thumbnails::-webkit-scrollbar-track,.photo-gallery-grid::-webkit-scrollbar-track{background:#f3f4f6;border-radius:3px}.photo-gallery-thumbnails::-webkit-scrollbar-thumb,.photo-gallery-grid::-webkit-scrollbar-thumb{background:#d1d5db;border-radius:3px}@media(max-width:768px){.photo-gallery-single{padding:16px}.gallery-nav-btn{padding:12px}.gallery-nav-btn.prev{left:8px}.gallery-nav-btn.next{right:8px}.gallery-nav-btn svg{width:28px;height:28px}.photo-gallery-title h3{font-size:1rem;max-width:200px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.photo-gallery-grid{grid-template-columns:repeat(2,1fr);gap:8px;padding:70px 12px 12px}.gallery-thumbnail{width:50px;height:50px}.photo-gallery-thumbnails{padding:12px 16px}}@media(max-width:480px){.photo-gallery-header{padding:12px 16px}.photo-gallery-grid{grid-template-columns:1fr}.gallery-grid-item{aspect-ratio:4/3}}.leaflet-pane,.leaflet-tile,.leaflet-marker-icon,.leaflet-marker-shadow,.leaflet-tile-container,.leaflet-pane>svg,.leaflet-pane>canvas,.leaflet-zoom-box,.leaflet-image-layer,.leaflet-layer{position:absolute;left:0;top:0}.leaflet-container{overflow:hidden}.leaflet-tile,.leaflet-marker-icon,.leaflet-marker-shadow{-webkit-user-select:none;-moz-user-select:none;user-select:none;-webkit-user-drag:none}.leaflet-tile::selection{background:transparent}.leaflet-safari .leaflet-tile{image-rendering:-webkit-optimize-contrast}.leaflet-safari .leaflet-tile-container{width:1600px;height:1600px;-webkit-transform-origin:0 0}.leaflet-marker-icon,.leaflet-marker-shadow{display:block}.leaflet-container .leaflet-overlay-pane svg{max-width:none!important;max-height:none!important}.leaflet-container .leaflet-marker-pane img,.leaflet-container .leaflet-shadow-pane img,.leaflet-container .leaflet-tile-pane img,.leaflet-container img.leaflet-image-layer,.leaflet-container .leaflet-tile{max-width:none!important;max-height:none!important;width:auto;padding:0}.leaflet-container img.leaflet-tile{mix-blend-mode:plus-lighter}.leaflet-container.leaflet-touch-zoom{-ms-touch-action:pan-x pan-y;touch-action:pan-x pan-y}.leaflet-container.leaflet-touch-drag{-ms-touch-action:pinch-zoom;touch-action:none;touch-action:pinch-zoom}.leaflet-container.leaflet-touch-drag.leaflet-touch-zoom{-ms-touch-action:none;touch-action:none}.leaflet-container{-webkit-tap-highlight-color:transparent}.leaflet-container a{-webkit-tap-highlight-color:rgba(51,181,229,.4)}.leaflet-tile{filter:inherit;visibility:hidden}.leaflet-tile-loaded{visibility:inherit}.leaflet-zoom-box{width:0;height:0;-moz-box-sizing:border-box;box-sizing:border-box;z-index:800}.leaflet-overlay-pane svg{-moz-user-select:none}.leaflet-pane{z-index:400}.leaflet-tile-pane{z-index:200}.leaflet-overlay-pane{z-index:400}.leaflet-shadow-pane{z-index:500}.leaflet-marker-pane{z-index:600}.leaflet-tooltip-pane{z-index:650}.leaflet-popup-pane{z-index:700}.leaflet-map-pane canvas{z-index:100}.leaflet-map-pane svg{z-index:200}.leaflet-vml-shape{width:1px;height:1px}.lvml{behavior:url(#default#VML);display:inline-block;position:absolute}.leaflet-control{position:relative;z-index:800;pointer-events:visiblePainted;pointer-events:auto}.leaflet-top,.leaflet-bottom{position:absolute;z-index:1000;pointer-events:none}.leaflet-top{top:0}.leaflet-right{right:0}.leaflet-bottom{bottom:0}.leaflet-left{left:0}.leaflet-control{float:left;clear:both}.leaflet-right .leaflet-control{float:right}.leaflet-top .leaflet-control{margin-top:10px}.leaflet-bottom .leaflet-control{margin-bottom:10px}.leaflet-left .leaflet-control{margin-left:10px}.leaflet-right .leaflet-control{margin-right:10px}.leaflet-fade-anim .leaflet-popup{opacity:0;-webkit-transition:opacity .2s linear;-moz-transition:opacity .2s linear;transition:opacity .2s linear}.leaflet-fade-anim .leaflet-map-pane .leaflet-popup{opacity:1}.leaflet-zoom-animated{-webkit-transform-origin:0 0;-ms-transform-origin:0 0;transform-origin:0 0}svg.leaflet-zoom-animated{will-change:transform}.leaflet-zoom-anim .leaflet-zoom-animated{-webkit-transition:-webkit-transform .25s cubic-bezier(0,0,.25,1);-moz-transition:-moz-transform .25s cubic-bezier(0,0,.25,1);transition:transform .25s cubic-bezier(0,0,.25,1)}.leaflet-zoom-anim .leaflet-tile,.leaflet-pan-anim .leaflet-tile{-webkit-transition:none;-moz-transition:none;transition:none}.leaflet-zoom-anim .leaflet-zoom-hide{visibility:hidden}.leaflet-interactive{cursor:pointer}.leaflet-grab{cursor:-webkit-grab;cursor:-moz-grab;cursor:grab}.leaflet-crosshair,.leaflet-crosshair .leaflet-interactive{cursor:crosshair}.leaflet-popup-pane,.leaflet-control{cursor:auto}.leaflet-dragging .leaflet-grab,.leaflet-dragging .leaflet-grab .leaflet-interactive,.leaflet-dragging .leaflet-marker-draggable{cursor:move;cursor:-webkit-grabbing;cursor:-moz-grabbing;cursor:grabbing}.leaflet-marker-icon,.leaflet-marker-shadow,.leaflet-image-layer,.leaflet-pane>svg path,.leaflet-tile-container{pointer-events:none}.leaflet-marker-icon.leaflet-interactive,.leaflet-image-layer.leaflet-interactive,.leaflet-pane>svg path.leaflet-interactive,svg.leaflet-image-layer.leaflet-interactive path{pointer-events:visiblePainted;pointer-events:auto}.leaflet-container{background:#ddd;outline-offset:1px}.leaflet-container a{color:#0078a8}.leaflet-zoom-box{border:2px dotted #38f;background:#ffffff80}.leaflet-container{font-family:Helvetica Neue,Arial,Helvetica,sans-serif;font-size:12px;font-size:.75rem;line-height:1.5}.leaflet-bar{box-shadow:0 1px 5px #000000a6;border-radius:4px}.leaflet-bar a{background-color:#fff;border-bottom:1px solid #ccc;width:26px;height:26px;line-height:26px;display:block;text-align:center;text-decoration:none;color:#000}.leaflet-bar a,.leaflet-control-layers-toggle{background-position:50% 50%;background-repeat:no-repeat;display:block}.leaflet-bar a:hover,.leaflet-bar a:focus{background-color:#f4f4f4}.leaflet-bar a:first-child{border-top-left-radius:4px;border-top-right-radius:4px}.leaflet-bar a:last-child{border-bottom-left-radius:4px;border-bottom-right-radius:4px;border-bottom:none}.leaflet-bar a.leaflet-disabled{cursor:default;background-color:#f4f4f4;color:#bbb}.leaflet-touch .leaflet-bar a{width:30px;height:30px;line-height:30px}.leaflet-touch .leaflet-bar a:first-child{border-top-left-radius:2px;border-top-right-radius:2px}.leaflet-touch .leaflet-bar a:last-child{border-bottom-left-radius:2px;border-bottom-right-radius:2px}.leaflet-control-zoom-in,.leaflet-control-zoom-out{font:700 18px Lucida Console,Monaco,monospace;text-indent:1px}.leaflet-touch .leaflet-control-zoom-in,.leaflet-touch .leaflet-control-zoom-out{font-size:22px}.leaflet-control-layers{box-shadow:0 1px 5px #0006;background:#fff;border-radius:5px}.leaflet-control-layers-toggle{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABoAAAAaCAQAAAADQ4RFAAACf0lEQVR4AY1UM3gkARTePdvdoTxXKc+qTl3aU5U6b2Kbkz3Gtq3Zw6ziLGNPzrYx7946Tr6/ee/XeCQ4D3ykPtL5tHno4n0d/h3+xfuWHGLX81cn7r0iTNzjr7LrlxCqPtkbTQEHeqOrTy4Yyt3VCi/IOB0v7rVC7q45Q3Gr5K6jt+3Gl5nCoDD4MtO+j96Wu8atmhGqcNGHObuf8OM/x3AMx38+4Z2sPqzCxRFK2aF2e5Jol56XTLyggAMTL56XOMoS1W4pOyjUcGGQdZxU6qRh7B9Zp+PfpOFlqt0zyDZckPi1ttmIp03jX8gyJ8a/PG2yutpS/Vol7peZIbZcKBAEEheEIAgFbDkz5H6Zrkm2hVWGiXKiF4Ycw0RWKdtC16Q7qe3X4iOMxruonzegJzWaXFrU9utOSsLUmrc0YjeWYjCW4PDMADElpJSSQ0vQvA1Tm6/JlKnqFs1EGyZiFCqnRZTEJJJiKRYzVYzJck2Rm6P4iH+cmSY0YzimYa8l0EtTODFWhcMIMVqdsI2uiTvKmTisIDHJ3od5GILVhBCarCfVRmo4uTjkhrhzkiBV7SsaqS+TzrzM1qpGGUFt28pIySQHR6h7F6KSwGWm97ay+Z+ZqMcEjEWebE7wxCSQwpkhJqoZA5ivCdZDjJepuJ9IQjGGUmuXJdBFUygxVqVsxFsLMbDe8ZbDYVCGKxs+W080max1hFCarCfV+C1KATwcnvE9gRRuMP2prdbWGowm1KB1y+zwMMENkM755cJ2yPDtqhTI6ED1M/82yIDtC/4j4BijjeObflpO9I9MwXTCsSX8jWAFeHr05WoLTJ5G8IQVS/7vwR6ohirYM7f6HzYpogfS3R2OAAAAAElFTkSuQmCC);width:36px;height:36px}.leaflet-retina .leaflet-control-layers-toggle{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADQAAAA0CAQAAABvcdNgAAAEsklEQVR4AWL4TydIhpZK1kpWOlg0w3ZXP6D2soBtG42jeI6ZmQTHzAxiTbSJsYLjO9HhP+WOmcuhciVnmHVQcJnp7DFvScowZorad/+V/fVzMdMT2g9Cv9guXGv/7pYOrXh2U+RRR3dSd9JRx6bIFc/ekqHI29JC6pJ5ZEh1yWkhkbcFeSjxgx3L2m1cb1C7bceyxA+CNjT/Ifff+/kDk2u/w/33/IeCMOSaWZ4glosqT3DNnNZQ7Cs58/3Ce5HL78iZH/vKVIaYlqzfdLu8Vi7dnvUbEza5Idt36tquZFldl6N5Z/POLof0XLK61mZCmJSWjVF9tEjUluu74IUXvgttuVIHE7YxSkaYhJZam7yiM9Pv82JYfl9nptxZaxMJE4YSPty+vF0+Y2up9d3wwijfjZbabqm/3bZ9ecKHsiGmRflnn1MW4pjHf9oLufyn2z3y1D6n8g8TZhxyzipLNPnAUpsOiuWimg52psrTZYnOWYNDTMuWBWa0tJb4rgq1UvmutpaYEbZlwU3CLJm/ayYjHW5/h7xWLn9Hh1vepDkyf7dE7MtT5LR4e7yYpHrkhOUpEfssBLq2pPhAqoSWKUkk7EDqkmK6RrCEzqDjhNDWNE+XSMvkJRDWlZTmCW0l0PHQGRZY5t1L83kT0Y3l2SItk5JAWHl2dCOBm+fPu3fo5/3v61RMCO9Jx2EEYYhb0rmNQMX/vm7gqOEJLcXTGw3CAuRNeyaPWwjR8PRqKQ1PDA/dpv+on9Shox52WFnx0KY8onHayrJzm87i5h9xGw/tfkev0jGsQizqezUKjk12hBMKJ4kbCqGPVNXudyyrShovGw5CgxsRICxF6aRmSjlBnHRzg7Gx8fKqEubI2rahQYdR1YgDIRQO7JvQyD52hoIQx0mxa0ODtW2Iozn1le2iIRdzwWewedyZzewidueOGqlsn1MvcnQpuVwLGG3/IR1hIKxCjelIDZ8ldqWz25jWAsnldEnK0Zxro19TGVb2ffIZEsIO89EIEDvKMPrzmBOQcKQ+rroye6NgRRxqR4U8EAkz0CL6uSGOm6KQCdWjvjRiSP1BPalCRS5iQYiEIvxuBMJEWgzSoHADcVMuN7IuqqTeyUPq22qFimFtxDyBBJEwNyt6TM88blFHao/6tWWhuuOM4SAK4EI4QmFHA+SEyWlp4EQoJ13cYGzMu7yszEIBOm2rVmHUNqwAIQabISNMRstmdhNWcFLsSm+0tjJH1MdRxO5Nx0WDMhCtgD6OKgZeljJqJKc9po8juskR9XN0Y1lZ3mWjLR9JCO1jRDMd0fpYC2VnvjBSEFg7wBENc0R9HFlb0xvF1+TBEpF68d+DHR6IOWVv2BECtxo46hOFUBd/APU57WIoEwJhIi2CdpyZX0m93BZicktMj1AS9dClteUFAUNUIEygRZCtik5zSxI9MubTBH1GOiHsiLJ3OCoSZkILa9PxiN0EbvhsAo8tdAf9Seepd36lGWHmtNANTv5Jd0z4QYyeo/UEJqxKRpg5LZx6btLPsOaEmdMyxYdlc8LMaJnikDlhclqmPiQnTEpLUIZEwkRagjYkEibQErwhkTAKCLQEbUgkzJQWc/0PstHHcfEdQ+UAAAAASUVORK5CYII=);background-size:26px 26px}.leaflet-touch .leaflet-control-layers-toggle{width:44px;height:44px}.leaflet-control-layers .leaflet-control-layers-list,.leaflet-control-layers-expanded .leaflet-control-layers-toggle{display:none}.leaflet-control-layers-expanded .leaflet-control-layers-list{display:block;position:relative}.leaflet-control-layers-expanded{padding:6px 10px 6px 6px;color:#333;background:#fff}.leaflet-control-layers-scrollbar{overflow-y:scroll;overflow-x:hidden;padding-right:5px}.leaflet-control-layers-selector{margin-top:2px;position:relative;top:1px}.leaflet-control-layers label{display:block;font-size:13px;font-size:1.08333em}.leaflet-control-layers-separator{height:0;border-top:1px solid #ddd;margin:5px -10px 5px -6px}.leaflet-default-icon-path{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABkAAAApCAYAAADAk4LOAAAFgUlEQVR4Aa1XA5BjWRTN2oW17d3YaZtr2962HUzbDNpjszW24mRt28p47v7zq/bXZtrp/lWnXr337j3nPCe85NcypgSFdugCpW5YoDAMRaIMqRi6aKq5E3YqDQO3qAwjVWrD8Ncq/RBpykd8oZUb/kaJutow8r1aP9II0WmLKLIsJyv1w/kqw9Ch2MYdB++12Onxee/QMwvf4/Dk/Lfp/i4nxTXtOoQ4pW5Aj7wpici1A9erdAN2OH64x8OSP9j3Ft3b7aWkTg/Fm91siTra0f9on5sQr9INejH6CUUUpavjFNq1B+Oadhxmnfa8RfEmN8VNAsQhPqF55xHkMzz3jSmChWU6f7/XZKNH+9+hBLOHYozuKQPxyMPUKkrX/K0uWnfFaJGS1QPRtZsOPtr3NsW0uyh6NNCOkU3Yz+bXbT3I8G3xE5EXLXtCXbbqwCO9zPQYPRTZ5vIDXD7U+w7rFDEoUUf7ibHIR4y6bLVPXrz8JVZEql13trxwue/uDivd3fkWRbS6/IA2bID4uk0UpF1N8qLlbBlXs4Ee7HLTfV1j54APvODnSfOWBqtKVvjgLKzF5YdEk5ewRkGlK0i33Eofffc7HT56jD7/6U+qH3Cx7SBLNntH5YIPvODnyfIXZYRVDPqgHtLs5ABHD3YzLuespb7t79FY34DjMwrVrcTuwlT55YMPvOBnRrJ4VXTdNnYug5ucHLBjEpt30701A3Ts+HEa73u6dT3FNWwflY86eMHPk+Yu+i6pzUpRrW7SNDg5JHR4KapmM5Wv2E8Tfcb1HoqqHMHU+uWDD7zg54mz5/2BSnizi9T1Dg4QQXLToGNCkb6tb1NU+QAlGr1++eADrzhn/u8Q2YZhQVlZ5+CAOtqfbhmaUCS1ezNFVm2imDbPmPng5wmz+gwh+oHDce0eUtQ6OGDIyR0uUhUsoO3vfDmmgOezH0mZN59x7MBi++WDL1g/eEiU3avlidO671bkLfwbw5XV2P8Pzo0ydy4t2/0eu33xYSOMOD8hTf4CrBtGMSoXfPLchX+J0ruSePw3LZeK0juPJbYzrhkH0io7B3k164hiGvawhOKMLkrQLyVpZg8rHFW7E2uHOL888IBPlNZ1FPzstSJM694fWr6RwpvcJK60+0HCILTBzZLFNdtAzJaohze60T8qBzyh5ZuOg5e7uwQppofEmf2++DYvmySqGBuKaicF1blQjhuHdvCIMvp8whTTfZzI7RldpwtSzL+F1+wkdZ2TBOW2gIF88PBTzD/gpeREAMEbxnJcaJHNHrpzji0gQCS6hdkEeYt9DF/2qPcEC8RM28Hwmr3sdNyht00byAut2k3gufWNtgtOEOFGUwcXWNDbdNbpgBGxEvKkOQsxivJx33iow0Vw5S6SVTrpVq11ysA2Rp7gTfPfktc6zhtXBBC+adRLshf6sG2RfHPZ5EAc4sVZ83yCN00Fk/4kggu40ZTvIEm5g24qtU4KjBrx/BTTH8ifVASAG7gKrnWxJDcU7x8X6Ecczhm3o6YicvsLXWfh3Ch1W0k8x0nXF+0fFxgt4phz8QvypiwCCFKMqXCnqXExjq10beH+UUA7+nG6mdG/Pu0f3LgFcGrl2s0kNNjpmoJ9o4B29CMO8dMT4Q5ox8uitF6fqsrJOr8qnwNbRzv6hSnG5wP+64C7h9lp30hKNtKdWjtdkbuPA19nJ7Tz3zR/ibgARbhb4AlhavcBebmTHcFl2fvYEnW0ox9xMxKBS8btJ+KiEbq9zA4RthQXDhPa0T9TEe69gWupwc6uBUphquXgf+/FrIjweHQS4/pduMe5ERUMHUd9xv8ZR98CxkS4F2n3EUrUZ10EYNw7BWm9x1GiPssi3GgiGRDKWRYZfXlON+dfNbM+GgIwYdwAAAAASUVORK5CYII=)}.leaflet-container .leaflet-control-attribution{background:#fff;background:#fffc;margin:0}.leaflet-control-attribution,.leaflet-control-scale-line{padding:0 5px;color:#333;line-height:1.4}.leaflet-control-attribution a{text-decoration:none}.leaflet-control-attribution a:hover,.leaflet-control-attribution a:focus{text-decoration:underline}.leaflet-attribution-flag{display:inline!important;vertical-align:baseline!important;width:1em;height:.6669em}.leaflet-left .leaflet-control-scale{margin-left:5px}.leaflet-bottom .leaflet-control-scale{margin-bottom:5px}.leaflet-control-scale-line{border:2px solid #777;border-top:none;line-height:1.1;padding:2px 5px 1px;white-space:nowrap;-moz-box-sizing:border-box;box-sizing:border-box;background:#fffc;text-shadow:1px 1px #fff}.leaflet-control-scale-line:not(:first-child){border-top:2px solid #777;border-bottom:none;margin-top:-2px}.leaflet-control-scale-line:not(:first-child):not(:last-child){border-bottom:2px solid #777}.leaflet-touch .leaflet-control-attribution,.leaflet-touch .leaflet-control-layers,.leaflet-touch .leaflet-bar{box-shadow:none}.leaflet-touch .leaflet-control-layers,.leaflet-touch .leaflet-bar{border:2px solid rgba(0,0,0,.2);background-clip:padding-box}.leaflet-popup{position:absolute;text-align:center;margin-bottom:20px}.leaflet-popup-content-wrapper{padding:1px;text-align:left;border-radius:12px}.leaflet-popup-content{margin:13px 24px 13px 20px;line-height:1.3;font-size:13px;font-size:1.08333em;min-height:1px}.leaflet-popup-content p{margin:1.3em 0}.leaflet-popup-tip-container{width:40px;height:20px;position:absolute;left:50%;margin-top:-1px;margin-left:-20px;overflow:hidden;pointer-events:none}.leaflet-popup-tip{width:17px;height:17px;padding:1px;margin:-10px auto 0;pointer-events:auto;-webkit-transform:rotate(45deg);-moz-transform:rotate(45deg);-ms-transform:rotate(45deg);transform:rotate(45deg)}.leaflet-popup-content-wrapper,.leaflet-popup-tip{background:#fff;color:#333;box-shadow:0 3px 14px #0006}.leaflet-container a.leaflet-popup-close-button{position:absolute;top:0;right:0;border:none;text-align:center;width:24px;height:24px;font:16px/24px Tahoma,Verdana,sans-serif;color:#757575;text-decoration:none;background:transparent}.leaflet-container a.leaflet-popup-close-button:hover,.leaflet-container a.leaflet-popup-close-button:focus{color:#585858}.leaflet-popup-scrolled{overflow:auto}.leaflet-oldie .leaflet-popup-content-wrapper{-ms-zoom:1}.leaflet-oldie .leaflet-popup-tip{width:24px;margin:0 auto;-ms-filter:"progid:DXImageTransform.Microsoft.Matrix(M11=0.70710678, M12=0.70710678, M21=-0.70710678, M22=0.70710678)";filter:progid:DXImageTransform.Microsoft.Matrix(M11=.70710678,M12=.70710678,M21=-.70710678,M22=.70710678)}.leaflet-oldie .leaflet-control-zoom,.leaflet-oldie .leaflet-control-layers,.leaflet-oldie .leaflet-popup-content-wrapper,.leaflet-oldie .leaflet-popup-tip{border:1px solid #999}.leaflet-div-icon{background:#fff;border:1px solid #666}.leaflet-tooltip{position:absolute;padding:6px;background-color:#fff;border:1px solid #fff;border-radius:3px;color:#222;white-space:nowrap;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;pointer-events:none;box-shadow:0 1px 3px #0006}.leaflet-tooltip.leaflet-interactive{cursor:pointer;pointer-events:auto}.leaflet-tooltip-top:before,.leaflet-tooltip-bottom:before,.leaflet-tooltip-left:before,.leaflet-tooltip-right:before{position:absolute;pointer-events:none;border:6px solid transparent;background:transparent;content:""}.leaflet-tooltip-bottom{margin-top:6px}.leaflet-tooltip-top{margin-top:-6px}.leaflet-tooltip-bottom:before,.leaflet-tooltip-top:before{left:50%;margin-left:-6px}.leaflet-tooltip-top:before{bottom:0;margin-bottom:-12px;border-top-color:#fff}.leaflet-tooltip-bottom:before{top:0;margin-top:-12px;margin-left:-6px;border-bottom-color:#fff}.leaflet-tooltip-left{margin-left:-6px}.leaflet-tooltip-right{margin-left:6px}.leaflet-tooltip-left:before,.leaflet-tooltip-right:before{top:50%;margin-top:-6px}.leaflet-tooltip-left:before{right:0;margin-right:-12px;border-left-color:#fff}.leaflet-tooltip-right:before{left:0;margin-left:-12px;border-right-color:#fff}@media print{.leaflet-control{-webkit-print-color-adjust:exact;print-color-adjust:exact}}.chatbot-sidebar{height:100%;display:flex;flex-direction:column;background:#fff;border-left:1px solid #e0e0e0}.chatbot-modal{position:fixed;bottom:20px;right:20px;width:400px;height:600px;background:#fff;border-radius:12px;box-shadow:0 4px 20px #00000026;display:flex;flex-direction:column;z-index:1000;transition:height .3s ease}.chatbot-modal.minimized{height:60px}.chatbot-header{display:flex;justify-content:space-between;align-items:center;padding:16px;border-bottom:1px solid #e0e0e0;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border-radius:12px 12px 0 0}.chatbot-sidebar .chatbot-header{border-radius:0}.header-content{display:flex;align-items:center;gap:10px}.header-content h3{margin:0;font-size:16px;font-weight:600}.header-actions{display:flex;gap:8px}.btn-icon{background:#fff3;border:none;border-radius:6px;width:32px;height:32px;display:flex;align-items:center;justify-content:center;cursor:pointer;color:#fff;transition:background .2s}.btn-icon:hover{background:#ffffff4d}.chatbot-messages{flex:1;overflow-y:auto;padding:20px;display:flex;flex-direction:column;gap:16px}.chat-empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;text-align:center;padding:20px}.empty-icon{font-size:64px;margin-bottom:16px}.chat-empty-state p{margin:8px 0}.suggestion-chips{display:flex;flex-direction:column;gap:8px;margin-top:20px;width:100%}.suggestion-chip{padding:10px 16px;background:#f5f5f5;border:1px solid #e0e0e0;border-radius:8px;cursor:pointer;transition:all .2s;font-size:14px;text-align:left}.suggestion-chip:hover{background:#667eea;color:#fff;border-color:#667eea}.chat-message{display:flex;gap:12px;animation:fadeIn .3s ease}.chat-message.user{flex-direction:row-reverse}.message-avatar{width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:18px;flex-shrink:0;background:#f5f5f5}.message-content{max-width:70%;padding:12px 16px;border-radius:12px;background:#f5f5f5;word-wrap:break-word;overflow-wrap:break-word;word-break:break-word}.chat-message.user .message-content{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.chat-message.assistant .message-content{background:#f5f5f5;color:#333}.chat-message.system .message-content{background:#e3f2fd;color:#1976d2;font-size:13px}.chat-message.error .message-content{background:#ffebee;color:#c62828}.message-content p{margin:0;line-height:1.5;white-space:pre-wrap}.message-meta{display:block;font-size:11px;color:#999;margin-top:6px}.chat-message.user .message-meta{color:#ffffffb3}.chat-message.typing .message-content{padding:16px}.typing-indicator{display:flex;gap:4px;align-items:center}.typing-indicator span{width:8px;height:8px;border-radius:50%;background:#999;animation:typing 1.4s infinite}.typing-indicator span:nth-child(2){animation-delay:.2s}.typing-indicator span:nth-child(3){animation-delay:.4s}@keyframes typing{0%,60%,to{transform:translateY(0);opacity:.7}30%{transform:translateY(-10px);opacity:1}}.chatbot-input{display:flex;gap:8px;padding:16px;border-top:1px solid #e0e0e0;background:#fff;border-radius:0 0 12px 12px}.chatbot-sidebar .chatbot-input{border-radius:0}.chatbot-input input,.chatbot-input textarea{flex:1;padding:10px 16px;border:1px solid #e0e0e0;border-radius:8px;font-size:14px;outline:none;transition:border-color .2s;font-family:inherit;resize:none;max-height:120px;overflow-y:auto}.chatbot-input input:focus,.chatbot-input textarea:focus{border-color:#667eea}.chatbot-input input:disabled,.chatbot-input textarea:disabled{background:#f5f5f5;cursor:not-allowed}.btn-send{padding:10px 16px;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;border-radius:8px;cursor:pointer;transition:opacity .2s;display:flex;align-items:center;justify-content:center}.btn-send:hover:not(:disabled){opacity:.9}.btn-send:disabled{opacity:.5;cursor:not-allowed}@media(max-width:768px){.chatbot-modal{bottom:0;right:0;left:0;width:100%;height:100vh;border-radius:0;max-height:100vh}.chatbot-modal.minimized{height:60px;bottom:20px;left:20px;right:20px;width:calc(100% - 40px);border-radius:12px}.message-content{max-width:80%}}.chatbot-messages::-webkit-scrollbar{width:6px}.chatbot-messages::-webkit-scrollbar-track{background:#f5f5f5}.chatbot-messages::-webkit-scrollbar-thumb{background:#ccc;border-radius:3px}.chatbot-messages::-webkit-scrollbar-thumb:hover{background:#999}.janice-header{background:linear-gradient(135deg,#ff8c42,#ff6b6b,#764ba2)}.janice-avatar{width:40px;height:40px;border-radius:50%;background:#fff3;display:flex;align-items:center;justify-content:center;font-size:24px;animation:pulse 2s infinite}.janice-title{display:flex;flex-direction:column}.janice-title h3{margin:0;font-size:18px;font-weight:700;letter-spacing:.5px}.janice-subtitle{font-size:12px;opacity:.85;font-weight:400}.janice-empty-state .janice-welcome{font-size:72px;animation:floatEmoji 3s ease-in-out infinite}@keyframes floatEmoji{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.janice-empty-state .janice-name{font-size:24px;font-weight:700;background:linear-gradient(135deg,#ff8c42,#ff6b6b,#764ba2);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;margin-bottom:8px}.chat-message.assistant .message-avatar{background:linear-gradient(135deg,#ff8c42,#764ba2);color:#fff;font-size:18px}.chat-message.assistant .message-content{background:#f8f7ff;border:1px solid #e8e6f5}.message-content strong{font-weight:600;color:#333}.chat-message.user .message-content strong{color:#fff}.janice-actions{margin-top:12px;padding:12px;background:#667eea1a;border-radius:8px;border-left:3px solid #667eea}.chat-message.user .janice-actions{background:#ffffff26;border-left-color:#ffffff80}.janice-actions strong{display:block;margin-bottom:8px;font-size:.9rem;color:#667eea}.janice-actions ul{margin:0;padding-left:0;list-style:none}.janice-actions li{padding:6px 0;font-size:.9rem;display:flex;align-items:center;gap:8px}.janice-actions li:before{content:none}.loading-greeting{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;gap:16px}.loading-greeting .spinner{width:40px;height:40px}.floating-chat-icon{font-size:24px}.loading-older-messages{display:flex;align-items:center;justify-content:center;gap:8px;padding:12px;color:#667eea;font-size:13px;background:linear-gradient(to bottom,rgba(102,126,234,.08),transparent)}.spinner-small{width:16px;height:16px;border:2px solid rgba(102,126,234,.2);border-top-color:#667eea;border-radius:50%;animation:spin .8s linear infinite}.load-more-hint{display:flex;align-items:center;justify-content:center;padding:8px;color:#999;font-size:12px;text-align:center}.load-more-hint span{background:#f5f5f5;padding:4px 12px;border-radius:12px}.generation-progress-modal{max-width:780px}.generation-modal-header{text-align:center;padding:var(--space-lg) var(--space-xl) var(--space-md);border-bottom:1px solid var(--border);margin-bottom:var(--space-md)}.generation-modal-header h2{display:flex;align-items:center;justify-content:center;gap:var(--space-sm);font-size:1.5rem;font-weight:700;background:linear-gradient(135deg,var(--dark-blue) 0%,var(--primary-blue) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;margin:0 0 var(--space-sm) 0}.header-sparkle{-webkit-text-fill-color:initial;color:var(--primary-blue);animation:sparkleGlow 2s ease-in-out infinite;flex-shrink:0}@keyframes sparkleGlow{0%,to{opacity:.7;transform:scale(1) rotate(0)}50%{opacity:1;transform:scale(1.1) rotate(5deg)}}.header-subtitle{font-size:.9rem;color:var(--gray);margin:0;font-weight:400}.generation-animation{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--space-md) 0;min-height:auto}.logo-animation-container{width:120px;height:120px;display:flex;align-items:center;justify-content:center;margin-bottom:var(--space-md);position:relative}.static-logo{width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 10px 20px rgba(37,99,235,.2))}.generation-text{font-size:1.5rem;color:var(--dark-blue);font-weight:600}.dot{display:inline-block;animation:bounceDot 1.4s ease-in-out infinite}.dot-1{animation-delay:0s}.dot-2{animation-delay:.2s}.dot-3{animation-delay:.4s}@keyframes bounceDot{0%,80%,to{opacity:.3}40%{opacity:1}}.generation-steps{display:flex;flex-direction:column;gap:var(--space-sm);margin-bottom:var(--space-xl)}.generation-step{display:flex;align-items:flex-start;gap:var(--space-lg);padding:var(--space-lg);border-radius:var(--radius-md);transition:all .3s ease}.generation-step.pending{opacity:.4}.generation-step.current{background:linear-gradient(135deg,#e3f2fd,#f5f5f5);border:2px solid var(--primary-blue);box-shadow:0 4px 12px #2563eb33;transform:scale(1.02)}.generation-step.complete{background:linear-gradient(135deg,#e8f5e9,#f5f5f5);border:2px solid #4caf50}.step-indicator{width:40px;height:40px;display:flex;align-items:center;justify-content:center;border-radius:50%;flex-shrink:0;font-weight:700;background:var(--white);box-shadow:var(--shadow-sm)}.generation-step.complete .step-indicator{background:#4caf50;color:var(--white)}.generation-step.current .step-indicator{background:var(--primary-blue);color:var(--white)}.step-number{color:var(--gray)}.step-content{flex:1}.step-label{font-size:1.1rem;font-weight:600;color:var(--dark-blue);margin-bottom:var(--space-xs)}.step-description{color:var(--gray);font-size:.95rem}.current-step-info{display:flex;flex-direction:row;align-items:center;gap:var(--space-md);margin-top:var(--space-md);padding:var(--space-md) var(--space-lg);background:linear-gradient(135deg,#f0f9ff,#e0f2fe);border-radius:var(--radius-lg);border:1px solid rgba(37,99,235,.2)}.current-step-info .step-emoji{font-size:1.75rem;flex-shrink:0;animation:gentlePulse 2.5s ease-in-out infinite}@keyframes gentlePulse{0%,to{transform:scale(1);opacity:1}50%{transform:scale(1.05);opacity:.9}}.step-text-content{display:flex;flex-direction:column;gap:2px;text-align:left}.current-step-info .step-name{font-size:1rem;font-weight:600;color:var(--dark-blue);line-height:1.3}.current-step-info .step-description{font-size:.85rem;color:var(--gray);line-height:1.4}.progress-bar-container{height:8px;background:var(--light-gray);border-radius:var(--radius-full);overflow:hidden;margin-top:var(--space-lg)}.progress-bar{height:100%;background:linear-gradient(90deg,var(--primary-blue),var(--accent-blue));transition:width .5s ease;border-radius:var(--radius-full)}.step-counter{text-align:center;margin-top:var(--space-sm);font-size:.9rem;color:var(--gray);font-weight:500}.generation-complete{text-align:center;padding:var(--space-2xl)}.success-icon{font-size:5rem;margin-bottom:var(--space-lg);animation:bounceIn .6s ease}@keyframes bounceIn{0%{transform:scale(0);opacity:0}50%{transform:scale(1.1)}to{transform:scale(1);opacity:1}}.generation-complete h3{color:var(--dark-blue);font-size:2rem;margin-bottom:var(--space-md)}.generation-complete p{color:var(--gray);font-size:1.1rem;margin-bottom:var(--space-2xl)}.completion-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-lg);margin-top:var(--space-xl)}.stat{display:flex;flex-direction:column;align-items:center;padding:var(--space-lg);background:var(--background);border-radius:var(--radius-lg);border:2px solid var(--border)}.stat-value{font-size:2rem;font-weight:800;color:var(--primary-blue);margin-bottom:var(--space-xs)}.stat-label{font-size:.9rem;color:var(--gray);font-weight:500;text-align:center}.generation-error{text-align:center;padding:var(--space-2xl)}.error-icon{font-size:4rem;margin-bottom:var(--space-lg)}.generation-error h3{color:var(--danger);margin-bottom:var(--space-md)}.generation-error p{color:var(--gray);margin-bottom:var(--space-xl);max-width:400px;margin-left:auto;margin-right:auto}.rebuild-btn .spinning{animation:spin 1s linear infinite}@media(max-width:768px){.generation-progress-modal{margin:var(--space-md)}.generation-modal-header{padding:var(--space-md) var(--space-lg) var(--space-sm)}.generation-modal-header h2{font-size:1.25rem}.header-subtitle{font-size:.8rem}.completion-stats{grid-template-columns:1fr}.generation-step{padding:var(--space-md)}.step-label{font-size:1rem}.step-description{font-size:.85rem}.logo-animation-container{width:80px;height:80px}.generation-text{font-size:1.2rem}.generation-animation{min-height:auto;padding:var(--space-sm) 0}.current-step-info{padding:var(--space-sm) var(--space-md)}.current-step-info .step-emoji{font-size:1.5rem}.current-step-info .step-name{font-size:.9rem}.current-step-info .step-description{font-size:.8rem}}.address-autocomplete-container{width:100%}.address-input-wrapper{position:relative;display:flex;align-items:center}.address-input-icon{position:absolute;left:14px;color:#9ca3af;pointer-events:none;z-index:1}.address-input{width:100%;padding:12px 14px 12px 42px!important;background:#fff;border:2px solid #e5e7eb;border-radius:10px;color:#111827;font-size:15px;transition:all .2s}.address-input:hover:not(:disabled){border-color:#d1d5db}.address-input:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 4px #3b82f61a}.address-input:disabled{background:#f3f4f6;cursor:not-allowed;opacity:.6}.address-input::placeholder{color:#9ca3af}.address-loading-hint{display:block;margin-top:6px;font-size:12px;color:#6b7280;font-style:italic}.pac-container{border-radius:12px;box-shadow:0 10px 25px #00000026;border:1px solid #e5e7eb;margin-top:4px;font-family:inherit}.pac-item{padding:12px 16px;cursor:pointer;border-top:1px solid #f3f4f6;font-size:14px}.pac-item:first-child{border-top:none}.pac-item:hover{background-color:#f9fafb}.pac-item-selected,.pac-item-selected:hover{background-color:#eff6ff}.pac-icon{margin-right:12px;margin-top:6px}.pac-item-query{font-size:14px;color:#111827;font-weight:500}.pac-matched{font-weight:600;color:#3b82f6}.flight-booking-modal{display:flex;flex-direction:column}.modal-close{position:absolute;top:16px;right:16px;background:#f3f4f6;border:none;color:#6b7280;width:36px;height:36px;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s;z-index:10}.modal-close:hover{background:#e5e7eb;color:#374151}.booking-progress{display:flex;justify-content:center;gap:8px;padding:20px 24px;background:linear-gradient(to bottom,#f9fafb,#fff);border-bottom:1px solid #e5e7eb;position:relative}.progress-step{display:flex;flex-direction:column;align-items:center;gap:6px;flex:1;max-width:100px;position:relative}.progress-step:after{content:"";position:absolute;top:14px;left:calc(50% + 20px);width:calc(100% - 20px);height:2px;background:#e5e7eb;z-index:0}.progress-step:last-child:after{display:none}.progress-step.completed:after{background:#ff8c42}.step-indicator{width:28px;height:28px;border-radius:50%;background:#e5e7eb;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:600;color:#9ca3af;position:relative;z-index:1;transition:all .2s}.progress-step.active .step-indicator{background:#ff8c42;color:#fff;box-shadow:0 0 0 4px #ff8c4233}.progress-step.completed .step-indicator{background:#ff8c42;color:#fff}.progress-step .step-label{font-size:11px;color:#9ca3af;font-weight:500;text-align:center}.progress-step.active .step-label{color:#ff8c42;font-weight:600}.progress-step.completed .step-label{color:#6b7280}.error-banner{display:flex;align-items:center;gap:10px;padding:12px 16px;background:#fef2f2;color:#dc2626;font-size:14px;border-bottom:1px solid #fecaca}.error-close{background:none;border:none;color:#dc2626;cursor:pointer;padding:4px;display:flex;align-items:center;justify-content:center;border-radius:4px}.error-close:hover{background:#dc26261a}.flight-booking-modal .modal-content{flex:1;overflow-y:auto;padding:24px;background:#fff}.flight-step{animation:fadeIn .3s ease}.step-content-header h3{margin:0;font-size:20px;font-weight:600;color:#111827}.step-description{margin:4px 0 0;font-size:14px;color:#6b7280}.results-summary{display:flex;align-items:center;gap:12px;flex:1}.results-summary h3{margin:0;font-size:18px}.route-badge{display:inline-flex;align-items:center;gap:6px;background:#fff7ed;color:#c2410c;padding:6px 12px;border-radius:20px;font-size:13px;font-weight:500}.search-form{display:flex;flex-direction:column;gap:16px;margin-bottom:24px}.form-row{display:flex;gap:16px;align-items:flex-end}.form-group{flex:1;display:flex;flex-direction:column;gap:6px}.form-group.compact{flex:0 0 auto;min-width:80px}.form-group label{display:flex;align-items:center;gap:6px;font-size:13px;color:#374151;font-weight:500}.form-group label svg{color:#9ca3af}.form-group input,.form-group select{padding:12px 14px;background:#fff;border:1px solid #d1d5db;border-radius:10px;color:#111827;font-size:14px;transition:all .2s}.form-group input:focus,.form-group select:focus{outline:none;border-color:#ff8c42;box-shadow:0 0 0 3px #ff8c421a}.form-group input::placeholder{color:#9ca3af}.airport-input{font-family:SF Mono,Monaco,Inconsolata,monospace;font-size:16px!important;text-transform:uppercase;letter-spacing:1px}.swap-icon{display:flex;align-items:center;justify-content:center;color:#d1d5db;padding-bottom:10px}.passengers-row{flex-wrap:wrap}.options-row{align-items:center}.checkbox-group{flex-direction:row;align-items:center}.checkbox-label{display:flex;align-items:center;gap:8px;cursor:pointer;font-size:14px!important;color:#374151;font-weight:400!important}.checkbox-label input[type=checkbox]{width:18px;height:18px;accent-color:#FF8C42;cursor:pointer}.btn-select:hover{background:#1d4ed8}.btn-search{width:100%;padding:14px 24px;font-size:16px}.btn-add-traveler{width:100%;padding:14px;margin-bottom:16px;border:2px dashed #d1d5db;background:transparent}.btn-add-traveler:hover{border-color:#ff8c42;color:#ff8c42;background:#fff7ed}.show-more-btn{padding:12px 24px}.results-section{margin-bottom:24px}.section-header{margin-bottom:16px}.section-header h4{margin:0 0 4px;font-size:16px;font-weight:600;color:#111827}.section-header p{margin:0;font-size:13px;color:#6b7280}.more-options{text-align:center;padding:16px 0;border-top:1px solid #e5e7eb}.other-flights{padding-top:24px;border-top:1px solid #e5e7eb}.flights-list{display:flex;flex-direction:column;gap:12px}.flight-card{background:#fff;border:1px solid #e5e7eb;border-radius:12px;overflow:hidden;transition:all .2s;position:relative}.flight-card.featured{border-color:#ff8c42;border-width:2px}.flight-card:hover{border-color:#ff8c42;box-shadow:0 4px 12px #ff8c421a}.flight-tag{display:inline-block;padding:6px 12px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;border-radius:0 0 8px;position:absolute;top:0;left:0;z-index:5}.flight-card-content{padding:20px}.flight-card.featured .flight-card-content{padding-top:36px}.itinerary-row{padding-bottom:16px;margin-bottom:16px;border-bottom:1px solid #f3f4f6}.itinerary-row:last-child{padding-bottom:0;margin-bottom:0;border-bottom:none}.itinerary-direction{font-size:11px;text-transform:uppercase;color:#6b7280;font-weight:600;letter-spacing:.5px;margin-bottom:12px}.segments{display:flex;flex-direction:column;gap:12px}.segment{display:flex;align-items:center;gap:16px}.segment-airline{display:flex;flex-direction:column;align-items:center;min-width:56px}.airline-code{font-weight:700;color:#111827;font-size:14px}.flight-number{font-size:11px;color:#6b7280}.segment-route{flex:1;display:flex;align-items:center;gap:12px}.route-endpoint{display:flex;flex-direction:column;align-items:center;min-width:60px}.route-endpoint .time{font-size:18px;font-weight:600;color:#111827}.route-endpoint .airport{font-size:12px;color:#6b7280;font-weight:500}.route-duration{flex:1;display:flex;flex-direction:column;align-items:center;gap:4px}.duration-time{font-size:12px;color:#6b7280}.duration-visual{width:100%;height:2px;background:linear-gradient(90deg,#ff8c42,#2563eb);position:relative;display:flex;align-items:center;justify-content:center}.plane-icon{background:#fff;padding:0 4px;color:#ff8c42}.stops-indicator{font-size:11px;color:#f59e0b;font-weight:500}.itinerary-summary{display:flex;align-items:center;gap:12px;margin-top:12px}.total-time{display:flex;align-items:center;gap:4px;font-size:12px;color:#6b7280}.stops-badge{font-size:11px;padding:4px 8px;border-radius:4px;background:#f3f4f6;color:#6b7280}.stops-badge.nonstop{background:#ecfdf5;color:#059669}.flight-card-footer{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;background:#f9fafb;border-top:1px solid #e5e7eb}.price-info{display:flex;flex-direction:column}.price-label{font-size:11px;color:#6b7280;text-transform:uppercase;letter-spacing:.5px}.price-amount{font-size:22px;font-weight:700;color:#111827}.price-per-person{font-size:12px;color:#6b7280}.price-confirmation{display:flex;flex-direction:column;gap:20px}.selected-flight-card,.price-breakdown-card{background:#f9fafb;border:1px solid #e5e7eb;border-radius:12px;padding:20px}.selected-flight-card h4,.price-breakdown-card h4{margin:0 0 16px;font-size:14px;color:#6b7280;text-transform:uppercase;letter-spacing:.5px;font-weight:600}.summary-itinerary{display:flex;align-items:center;gap:12px;padding:10px 0;border-bottom:1px solid #e5e7eb}.summary-itinerary:last-child{border-bottom:none}.summary-itinerary .direction{font-size:12px;color:#6b7280;min-width:70px}.summary-itinerary .route{display:flex;align-items:center;gap:6px;color:#111827;font-weight:500}.summary-itinerary .date{margin-left:auto;color:#6b7280;font-size:13px}.price-item.secondary{color:#6b7280;font-size:13px}.passengers-content{display:flex;flex-direction:column}.passport-info{font-size:11px;color:#059669}.traveler-form{padding:20px}.form-section{margin-bottom:24px}.form-section h5{margin:0 0 16px;font-size:14px;color:#6b7280;font-weight:600;padding-bottom:8px;border-bottom:1px solid #e5e7eb}.traveler-form .form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:16px}.traveler-form .form-group{display:flex;flex-direction:column;gap:6px}.traveler-form .form-group label{font-size:13px;color:#374151;font-weight:500}.traveler-form .form-group input,.traveler-form .form-group select{padding:11px 14px;background:#fff;border:1px solid #d1d5db;border-radius:8px;color:#111827;font-size:14px;transition:all .2s}.traveler-form .form-group input:focus,.traveler-form .form-group select:focus{outline:none;border-color:#ff8c42;box-shadow:0 0 0 3px #ff8c421a}.pnr-card{display:flex;flex-direction:column;align-items:center;gap:8px;padding:24px 48px;background:linear-gradient(135deg,#ff8c42,#f97316);border-radius:12px;margin-bottom:24px;color:#fff}.pnr-label{font-size:12px;opacity:.9}.pnr-code{font-size:32px;font-weight:700;letter-spacing:3px;font-family:SF Mono,Monaco,Inconsolata,monospace}@media(max-width:640px){.flight-booking-modal-overlay{padding:0;align-items:flex-end}.flight-booking-modal{max-height:95vh;border-radius:20px 20px 0 0}.booking-progress{padding:16px;gap:4px}.progress-step .step-label{font-size:9px}.flight-booking-modal .modal-content{padding:16px}.form-row{flex-direction:column;gap:12px}.airports-row{flex-direction:row;flex-wrap:wrap}.airports-row .form-group{flex:1 1 calc(50% - 20px);min-width:120px}.swap-icon{transform:rotate(90deg);padding:0}.passengers-row{flex-direction:row;flex-wrap:wrap}.passengers-row .form-group.compact{flex:1;min-width:70px}.segment-route{flex-direction:column;gap:8px}.route-duration{width:100%}.flight-card-footer{flex-direction:column;gap:16px;text-align:center}.price-info{align-items:center}.btn-select{width:100%}.traveler-form .form-row{grid-template-columns:1fr}.pnr-card{padding:20px 32px}.pnr-code{font-size:24px}}.hotel-booking-modal{display:flex;flex-direction:column;position:relative}.hotel-booking-modal .modal-close{position:absolute;top:16px;right:16px;background:#f3f4f6;border:none;color:#6b7280;width:36px;height:36px;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s;z-index:10}.hotel-booking-modal .modal-close:hover{background:#e5e7eb;color:#374151}.hotel-booking-modal .booking-progress{display:flex;justify-content:center;gap:8px;padding:20px 24px;background:linear-gradient(to bottom,#f9fafb,#fff);border-bottom:1px solid #e5e7eb}.hotel-booking-modal .progress-step{display:flex;flex-direction:column;align-items:center;gap:6px;flex:1;max-width:100px;position:relative}.hotel-booking-modal .progress-step:after{content:"";position:absolute;top:14px;left:calc(50% + 20px);width:calc(100% - 20px);height:2px;background:#e5e7eb;z-index:0}.hotel-booking-modal .progress-step:last-child:after{display:none}.hotel-booking-modal .progress-step.completed:after{background:#ff8c42}.hotel-booking-modal .step-indicator{width:28px;height:28px;border-radius:50%;background:#e5e7eb;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:600;color:#9ca3af;position:relative;z-index:1;transition:all .2s}.hotel-booking-modal .progress-step.active .step-indicator{background:#ff8c42;color:#fff;box-shadow:0 0 0 4px #ff8c4233}.hotel-booking-modal .progress-step.completed .step-indicator{background:#ff8c42;color:#fff}.hotel-booking-modal .progress-step .step-label{font-size:11px;color:#9ca3af;font-weight:500;text-align:center}.hotel-booking-modal .progress-step.active .step-label{color:#ff8c42;font-weight:600}.hotel-booking-modal .progress-step.completed .step-label{color:#6b7280}.hotel-booking-modal .error-banner{display:flex;align-items:center;gap:10px;padding:12px 16px;background:#fef2f2;color:#dc2626;font-size:14px;border-bottom:1px solid #fecaca}.hotel-booking-modal .error-banner span{flex:1}.hotel-booking-modal .error-close{background:none;border:none;color:#dc2626;cursor:pointer;padding:4px;display:flex;align-items:center;justify-content:center;border-radius:4px}.hotel-booking-modal .error-close:hover{background:#dc26261a}.hotel-booking-modal .modal-content{flex:1;overflow-y:auto;padding:24px;background:#fff}.hotel-step{animation:fadeIn .3s ease}@keyframes fadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.step-content-header{display:flex;align-items:flex-start;gap:16px;margin-bottom:24px}.step-content-header.compact{align-items:center;margin-bottom:20px}.step-icon-wrapper{width:48px;height:48px;background:linear-gradient(135deg,#ff8c42,#f97316);color:#fff;border-radius:12px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.step-header-info h3{margin:0;font-size:20px;font-weight:600;color:#111827}.hotel-address{display:flex;align-items:center;gap:6px;margin:4px 0 0;font-size:14px;color:#6b7280}.hotel-address svg{flex-shrink:0}.back-btn{display:flex;align-items:center;gap:4px;background:none;border:none;color:#6b7280;font-size:14px;font-weight:500;cursor:pointer;padding:0;margin-right:12px}.back-btn:hover{color:#374151}.back-btn .back-icon{transform:rotate(180deg)}.selection-badge{background:#eff6ff;color:#2563eb;padding:4px 10px;border-radius:12px;font-size:12px;font-weight:500;margin-left:8px}.stay-config-card{background:#f9fafb;border:1px solid #e5e7eb;border-radius:12px;padding:16px;margin-bottom:20px}.stay-dates{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.date-display{display:flex;align-items:center;gap:8px;color:#374151;font-weight:500}.date-display svg{color:#ff8c42}.date-separator{color:#9ca3af}.date-inputs{display:flex;align-items:flex-end;gap:12px}.date-input-group{display:flex;flex-direction:column;gap:4px}.date-input-group label{font-size:12px;color:#6b7280;font-weight:500}.date-input-group label .required{color:#ef4444}.date-input-group input[type=date]{padding:8px 12px;border:1px solid #d1d5db;border-radius:8px;font-size:14px;background:#fff;color:#111827;min-width:140px}.date-input-group input[type=date]:focus{outline:none;border-color:#ff8c42;box-shadow:0 0 0 3px #ff8c421a}.date-input-group input[type=date]:invalid{border-color:#ef4444}.nights-pill{background:linear-gradient(135deg,#ff8c42,#f97316);color:#fff;padding:4px 12px;border-radius:20px;font-size:12px;font-weight:600}.stay-options{display:flex;align-items:flex-end;gap:16px;flex-wrap:wrap}.option-group{display:flex;flex-direction:column;gap:4px}.option-group label{font-size:12px;color:#6b7280;font-weight:500}.option-group select{padding:8px 12px;border:1px solid #d1d5db;border-radius:8px;font-size:14px;background:#fff;color:#111827;min-width:80px}.option-group select:focus{outline:none;border-color:#ff8c42;box-shadow:0 0 0 3px #ff8c421a}.btn-refresh{display:flex;align-items:center;gap:6px;padding:8px 16px;background:#2563eb;color:#fff;border:none;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:background .2s}.btn-refresh:hover{background:#1d4ed8}.btn-refresh:disabled{background:#93c5fd;cursor:not-allowed}.hotel-rating-badge{display:inline-flex;align-items:center;gap:6px;margin-bottom:20px}.hotel-rating-badge .rating-score{font-weight:700;color:#111827}.hotel-rating-badge .review-count{color:#6b7280;font-size:14px}.loading-state{display:flex;flex-direction:column;align-items:center;gap:12px;padding:60px 20px;color:#6b7280}.loading-state .spin{color:#ff8c42}.empty-state{display:flex;flex-direction:column;align-items:center;text-align:center;padding:48px 24px;background:#f9fafb;border:2px dashed #e5e7eb;border-radius:16px}.empty-state h4{margin:0 0 8px;color:#374151;font-size:18px}.empty-state p{margin:0 0 20px;color:#6b7280;font-size:14px}.rooms-section{margin-bottom:16px}.section-title{margin:0 0 16px;font-size:16px;font-weight:600;color:#111827}.offers-list{display:flex;flex-direction:column;gap:12px}.offer-card{display:flex;justify-content:space-between;background:#fff;border:1px solid #e5e7eb;border-radius:12px;padding:20px;transition:all .2s}.offer-card:hover{border-color:#ff8c42;box-shadow:0 4px 12px #ff8c421a}.offer-main{flex:1}.offer-header{display:flex;align-items:center;gap:10px;margin-bottom:12px}.offer-header svg{color:#ff8c42}.room-name{font-weight:600;color:#111827;font-size:16px}.offer-tags{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:8px}.offer-tag{display:inline-flex;align-items:center;gap:4px;padding:4px 10px;border-radius:20px;font-size:12px;font-weight:500}.offer-tag.breakfast{background:#fff7ed;color:#c2410c}.offer-tag.refundable{background:#ecfdf5;color:#059669}.offer-tag.non-refundable{background:#fef2f2;color:#dc2626}.policy-note{font-size:12px;color:#6b7280;margin:0}.offer-pricing{display:flex;flex-direction:column;align-items:flex-end;justify-content:space-between;min-width:140px;padding-left:20px;border-left:1px solid #f3f4f6}.price-nightly{display:flex;align-items:baseline;gap:4px}.price-nightly .currency{font-size:12px;color:#6b7280}.price-nightly .amount{font-size:20px;font-weight:700;color:#111827}.price-nightly .per-night{font-size:12px;color:#6b7280}.price-total{text-align:right;margin:8px 0}.price-total .total-label{display:block;font-size:11px;color:#6b7280;text-transform:uppercase}.price-total .total-amount{font-size:14px;font-weight:600;color:#374151}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:12px 20px;border-radius:10px;font-weight:500;font-size:14px;cursor:pointer;transition:all .2s;border:none}.btn-primary{background:linear-gradient(135deg,#ff8c42,#f97316);color:#fff}.btn-primary:hover:not(:disabled){background:linear-gradient(135deg,#f97316,#ea580c);transform:translateY(-1px);box-shadow:0 4px 12px #ff8c424d}.btn-primary:disabled{opacity:.6;cursor:not-allowed;transform:none;box-shadow:none}.btn-outline{background:#fff;color:#374151;border:1px solid #d1d5db}.btn-outline:hover{background:#f9fafb;border-color:#9ca3af}.btn-select{background:#2563eb;color:#fff;padding:10px 18px}.btn-select:hover:not(:disabled){background:#1d4ed8}.btn-select:disabled{background:#93c5fd;cursor:not-allowed}.btn-full{width:100%;padding:14px 24px;font-size:15px}.btn-add-guest{width:100%;padding:14px;margin-bottom:16px;border:2px dashed #d1d5db;background:transparent}.btn-add-guest:hover{border-color:#ff8c42;color:#ff8c42;background:#fff7ed}.confirm-content{display:flex;flex-direction:column;gap:20px}.confirmation-badge{display:flex;align-items:center;justify-content:center;gap:10px;padding:14px 20px;border-radius:10px;font-size:14px;font-weight:500}.confirmation-badge.success{background:#ecfdf5;color:#059669}.booking-summary-card{background:#f9fafb;border:1px solid #e5e7eb;border-radius:12px;padding:20px}.hotel-info{display:flex;align-items:flex-start;gap:12px;margin-bottom:16px;padding-bottom:16px;border-bottom:1px solid #e5e7eb}.hotel-info svg{color:#ff8c42;flex-shrink:0}.hotel-info h4{margin:0 0 4px;font-size:18px;color:#111827}.room-type{display:flex;align-items:center;gap:6px;font-size:14px;color:#6b7280}.stay-dates-display{display:flex;align-items:center;justify-content:space-between;background:#fff;border-radius:10px;padding:16px;margin-bottom:16px}.date-item{text-align:center}.date-item .label{display:block;font-size:12px;color:#6b7280;margin-bottom:4px}.date-item .value{font-weight:600;color:#111827}.nights-indicator{display:flex;flex-direction:column;align-items:center;gap:4px;color:#ff8c42}.nights-indicator span{font-size:12px;font-weight:500}.inclusions-list{display:flex;flex-wrap:wrap;gap:12px}.inclusion{display:flex;align-items:center;gap:6px;font-size:14px;color:#059669}.price-breakdown-card{background:#f9fafb;border:1px solid #e5e7eb;border-radius:12px;padding:20px}.price-breakdown-card h4{margin:0 0 16px;font-size:14px;color:#6b7280;text-transform:uppercase;letter-spacing:.5px;font-weight:600}.price-items{display:flex;flex-direction:column}.price-item{display:flex;justify-content:space-between;padding:10px 0;font-size:14px;color:#374151;border-bottom:1px solid #e5e7eb}.price-item:last-child{border-bottom:none}.price-item.total{font-size:18px;font-weight:600;color:#111827;padding-top:16px;margin-top:8px;border-top:2px solid #e5e7eb;border-bottom:none}.guests-content{display:flex;flex-direction:column}.step-instruction{font-size:14px;color:#6b7280;margin:0 0 20px}.travelers-list{display:flex;flex-direction:column;gap:12px;margin-bottom:16px}.traveler-card{display:flex;align-items:center;background:#fff;border:2px solid #e5e7eb;border-radius:12px;padding:4px;transition:all .2s}.traveler-card:hover{border-color:#d1d5db}.traveler-card.selected{border-color:#ff8c42;background:#fff7ed}.traveler-card-main{display:flex;align-items:center;flex:1;padding:12px;cursor:pointer}.traveler-avatar{width:44px;height:44px;border-radius:50%;background:linear-gradient(135deg,#ff8c42,#f97316);display:flex;align-items:center;justify-content:center;font-weight:600;font-size:15px;color:#fff;margin-right:14px;flex-shrink:0}.traveler-details{flex:1;display:flex;flex-direction:column;gap:2px}.traveler-name{font-weight:500;color:#111827;display:flex;align-items:center;gap:8px}.primary-tag{font-size:10px;padding:2px 6px;background:#ecfdf5;color:#059669;border-radius:4px;font-weight:600}.traveler-meta{font-size:12px;color:#6b7280}.selection-check{color:#ff8c42;margin-right:8px}.btn-edit{display:flex;align-items:center;gap:4px;padding:8px 12px;background:#f3f4f6;color:#6b7280;border:none;border-radius:8px;font-size:13px;cursor:pointer;margin-right:8px;transition:all .2s}.btn-edit:hover{background:#e5e7eb;color:#374151}.inline-form-container{background:#f9fafb;border:1px solid #e5e7eb;border-radius:16px;overflow:hidden}.inline-form-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;background:#fff;border-bottom:1px solid #e5e7eb}.inline-form-header h4{display:flex;align-items:center;gap:10px;margin:0;font-size:16px;color:#111827}.inline-form-header h4 svg{color:#ff8c42}.btn-cancel{background:none;border:none;color:#6b7280;font-size:14px;cursor:pointer;padding:6px 12px;border-radius:6px}.btn-cancel:hover{background:#f3f4f6;color:#374151}.guest-form{padding:20px}.guest-form .form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:16px}.guest-form .form-group{display:flex;flex-direction:column;gap:6px}.guest-form .form-group label{font-size:13px;color:#374151;font-weight:500}.guest-form .form-group input,.guest-form .form-group select{padding:11px 14px;background:#fff;border:1px solid #d1d5db;border-radius:8px;color:#111827;font-size:14px;transition:all .2s}.guest-form .form-group input:focus,.guest-form .form-group select:focus{outline:none;border-color:#ff8c42;box-shadow:0 0 0 3px #ff8c421a}.guest-form .form-group input::placeholder{color:#9ca3af}.form-error{background:#fef2f2;color:#dc2626;padding:12px 16px;border-radius:8px;font-size:14px;margin-bottom:16px;border:1px solid #fecaca}.form-actions{display:flex;justify-content:flex-end;gap:12px;padding-top:16px;border-top:1px solid #e5e7eb}.confirmation-content{display:flex;flex-direction:column;align-items:center;text-align:center;padding:24px}.success-header{margin-bottom:24px}.success-icon{display:inline-flex;align-items:center;justify-content:center;width:80px;height:80px;background:#ecfdf5;border-radius:50%;color:#10b981;margin-bottom:16px;animation:scaleIn .5s ease}@keyframes scaleIn{0%{transform:scale(0)}to{transform:scale(1)}}.success-header h2{margin:0 0 8px;font-size:26px;color:#111827}.success-header p{margin:0;color:#6b7280;font-size:15px}.confirmation-code-card{display:flex;flex-direction:column;align-items:center;gap:8px;padding:24px 48px;background:linear-gradient(135deg,#ff8c42,#f97316);border-radius:12px;margin-bottom:24px;color:#fff}.code-label{font-size:12px;opacity:.9}.code-value{font-size:28px;font-weight:700;letter-spacing:2px;font-family:SF Mono,Monaco,Inconsolata,monospace}.booking-details-card{width:100%;max-width:400px;background:#f9fafb;border:1px solid #e5e7eb;border-radius:12px;padding:20px;margin-bottom:24px;text-align:left}.detail-row{display:flex;justify-content:space-between;padding:10px 0;font-size:14px;border-bottom:1px solid #e5e7eb}.detail-row:last-child{border-bottom:none}.detail-label{color:#6b7280}.detail-value{color:#111827;font-weight:500}.detail-row.total{font-size:16px;font-weight:600;padding-top:16px;margin-top:8px;border-top:2px solid #e5e7eb;border-bottom:none}.detail-row.total .detail-label,.detail-row.total .detail-value{color:#111827}.confirmation-note{font-size:14px;color:#6b7280;max-width:400px;margin-bottom:24px;line-height:1.5}@media(max-width:640px){.hotel-booking-modal-overlay{padding:0;align-items:flex-end}.hotel-booking-modal{max-height:95vh;border-radius:20px 20px 0 0}.hotel-booking-modal .booking-progress{padding:16px;gap:4px}.hotel-booking-modal .progress-step .step-label{font-size:9px}.hotel-booking-modal .modal-content{padding:16px}.offer-card{flex-direction:column}.offer-pricing{flex-direction:row;align-items:center;justify-content:space-between;padding-left:0;padding-top:16px;margin-top:16px;border-left:none;border-top:1px solid #f3f4f6;min-width:auto;width:100%}.stay-options{flex-direction:column;gap:12px}.option-group,.option-group select{width:100%}.btn-refresh{width:100%;justify-content:center}.stay-dates-display{flex-direction:column;gap:12px}.nights-indicator{flex-direction:row;gap:8px}.guest-form .form-row{grid-template-columns:1fr}.confirmation-code-card{padding:20px 32px}.code-value{font-size:22px}}.booking-wizard-modal{display:flex;flex-direction:column;position:relative}.wizard-close{position:absolute;top:16px;right:16px;background:#f3f4f6;border:none;color:#6b7280;width:36px;height:36px;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s;z-index:10}.wizard-close:hover{background:#e5e7eb;color:#374151}.wizard-progress{display:flex;justify-content:space-between;padding:24px 32px;background:#f9fafb;border-bottom:1px solid #e5e7eb;gap:8px}.wizard-step{display:flex;flex-direction:column;align-items:center;gap:8px;flex:1;opacity:.4;transition:opacity .3s;position:relative}.wizard-step.active,.wizard-step.completed{opacity:1}.wizard-step .step-indicator{width:36px;height:36px;border-radius:50%;background:#e5e7eb;display:flex;align-items:center;justify-content:center;color:#6b7280;transition:all .3s}.wizard-step.active .step-indicator{background:#3b82f6;color:#fff;box-shadow:0 0 0 4px #3b82f633}.wizard-step.completed .step-indicator{background:#10b981;color:#fff}.wizard-step .step-title{font-size:12px;font-weight:500;color:#6b7280;text-align:center}.wizard-step.active .step-title{color:#3b82f6;font-weight:600}.wizard-step.completed .step-title{color:#10b981}.wizard-step:not(:last-child):after{content:"";position:absolute;top:18px;left:calc(50% + 24px);width:calc(100% - 48px);height:2px;background:#e5e7eb;z-index:-1}.wizard-step.completed:not(:last-child):after{background:#10b981}.wizard-error{display:flex;align-items:center;gap:10px;padding:12px 16px;background:#fef2f2;color:#dc2626;font-size:14px;border-bottom:1px solid #fecaca}.wizard-error span{flex:1}.wizard-error button{background:none;border:none;color:inherit;cursor:pointer;padding:4px;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:background .2s}.wizard-error button:hover{background:#dc26261a}.wizard-content{flex:1;overflow-y:auto;padding:24px 32px;background:#fff;min-height:300px}.booking-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;min-height:250px;gap:16px;color:#6b7280}.booking-loading p{margin:0;font-size:14px}.wizard-footer{display:flex;align-items:center;padding:16px 32px;background:#f9fafb;border-top:1px solid #e5e7eb;gap:12px}.footer-spacer{flex:1}.booking-wizard-modal .btn{display:inline-flex;align-items:center;gap:8px;padding:12px 20px;border-radius:8px;font-weight:500;font-size:14px;cursor:pointer;transition:all .2s;border:none}.booking-wizard-modal .btn-primary{background:#3b82f6;color:#fff}.booking-wizard-modal .btn-primary:hover:not(:disabled){background:#2563eb}.booking-wizard-modal .btn-primary:disabled{opacity:.5;cursor:not-allowed}.booking-wizard-modal .btn-ghost{background:#fff;color:#374151;border:1px solid #d1d5db}.booking-wizard-modal .btn-ghost:hover:not(:disabled){background:#f9fafb;border-color:#9ca3af}.booking-wizard-modal .btn-ghost:disabled{opacity:.5;cursor:not-allowed}.booking-wizard-modal .btn-next{min-width:160px;justify-content:center}.booking-wizard-modal .btn-done{min-width:120px;justify-content:center;background:#10b981}.booking-wizard-modal .btn-done:hover{background:#059669}.booking-step{animation:fadeIn .3s ease}.step-placeholder{background:#f9fafb;border:2px dashed #e5e7eb;border-radius:12px;padding:32px;text-align:center}.step-placeholder h4{margin:0 0 16px;font-size:18px;color:#111827}.step-placeholder p{margin:0 0 12px;color:#6b7280;font-size:14px}.step-placeholder ul{text-align:left;max-width:300px;margin:0 auto 16px;padding-left:20px;color:#6b7280;font-size:14px}.step-placeholder li{margin-bottom:8px}.placeholder-data{margin-top:20px;padding-top:16px;border-top:1px solid #e5e7eb;font-size:13px;color:#9ca3af}.placeholder-data p{margin:4px 0}.receipt-preview{background:#fff;border-radius:12px;box-shadow:0 2px 8px #00000014;overflow:hidden}.receipt-preview.empty-receipt{padding:48px 24px;text-align:center}.receipt-header{background:linear-gradient(135deg,#6366f1,#8b5cf6);color:#fff;padding:24px;text-align:center}.receipt-header-content{margin-bottom:8px}.receipt-title{font-size:1.5rem;font-weight:600;margin:0 0 8px;letter-spacing:-.02em}.receipt-trip-info{display:flex;align-items:center;justify-content:center;gap:8px;font-size:.9rem;opacity:.9}.receipt-trip-info .trip-name{font-weight:500}.receipt-trip-info .trip-destination{display:flex;align-items:center;gap:4px}.receipt-trip-info .separator{opacity:.6}.receipt-subtitle{margin:0;font-size:.875rem;opacity:.85}.receipt-controls{display:flex;justify-content:flex-end;padding:12px 16px;background:#f8fafc;border-bottom:1px solid #e2e8f0}.toggle-details-btn{background:transparent;border:1px solid #cbd5e1;border-radius:6px;padding:6px 12px;font-size:.75rem;color:#64748b;cursor:pointer;transition:all .2s ease}.toggle-details-btn:hover{background:#e2e8f0;border-color:#94a3b8;color:#475569}.receipt-items{padding:0}.receipt-section{border-bottom:1px solid #e2e8f0}.receipt-section:last-child{border-bottom:none}.receipt-section-header{display:flex;align-items:center;gap:8px;padding:16px 20px 12px;margin:0;font-size:.875rem;font-weight:600;color:#374151;background:#f8fafc;border-bottom:1px solid #e2e8f0}.receipt-section-header svg{color:#6366f1}.section-count{font-weight:400;color:#9ca3af;font-size:.8rem}.receipt-section-items{padding:0}.receipt-item-row{display:flex;align-items:flex-start;padding:16px 20px;border-bottom:1px solid #f1f5f9;gap:12px;transition:background .15s ease}.receipt-item-row:last-child{border-bottom:none}.receipt-item-row:hover{background:#fafbfc}.receipt-item-icon{flex-shrink:0;width:36px;height:36px;display:flex;align-items:center;justify-content:center;background:#f1f5f9;border-radius:8px;color:#64748b}.receipt-item-info{flex:1;min-width:0}.receipt-item-name{font-weight:500;color:#1f2937;font-size:.9375rem;line-height:1.4;margin-bottom:2px}.receipt-item-description{font-size:.8125rem;color:#6b7280;line-height:1.4;margin-bottom:6px}.receipt-item-details{display:flex;flex-wrap:wrap;gap:12px;margin-top:6px}.detail-item{display:inline-flex;align-items:center;gap:4px;font-size:.75rem;color:#64748b;background:#f1f5f9;padding:3px 8px;border-radius:4px}.detail-item svg{color:#94a3b8}.receipt-item-quantity{font-size:.75rem;color:#9ca3af;margin-top:4px}.receipt-item-price{flex-shrink:0;font-weight:600;color:#1f2937;font-size:.9375rem;text-align:right;min-width:90px}.receipt-footer{background:#f8fafc;padding:20px;border-top:2px solid #e2e8f0}.receipt-totals{background:#fff;border-radius:8px;padding:16px;margin-bottom:16px}.receipt-total-row{display:flex;justify-content:space-between;align-items:center;padding:8px 0}.receipt-total-row.subtotal-row{color:#4b5563}.receipt-total-row.fee-row{color:#6b7280}.receipt-total-label{font-size:.875rem;display:flex;align-items:center;gap:6px}.fee-percentage{font-size:.75rem;color:#9ca3af;font-weight:400}.receipt-total-value{font-size:.9375rem;font-weight:500}.receipt-divider{height:1px;background:linear-gradient(to right,transparent,#e2e8f0 20%,#e2e8f0 80%,transparent);margin:8px 0}.receipt-total-row.total-row{padding-top:12px}.receipt-total-row.total-row .receipt-total-label{font-size:1rem;font-weight:600;color:#1f2937}.receipt-total-row.total-row .receipt-total-value{font-size:1.25rem;font-weight:700;color:#6366f1}.fee-info{display:flex;align-items:flex-start;gap:8px;padding:12px;background:#eff6ff;border-radius:8px;border:1px solid #dbeafe}.fee-info-icon{flex-shrink:0;color:#3b82f6;margin-top:1px}.fee-info span{font-size:.8125rem;color:#1e40af;line-height:1.5}.empty-receipt-content{max-width:300px;margin:0 auto}.empty-receipt-icon{display:flex;align-items:center;justify-content:center;width:80px;height:80px;margin:0 auto 20px;background:#f1f5f9;border-radius:50%;color:#94a3b8}.empty-receipt h3{font-size:1.25rem;font-weight:600;color:#1f2937;margin:0 0 8px}.empty-receipt p{color:#6b7280;margin:0 0 4px;font-size:.9375rem}.empty-receipt-hint{color:#9ca3af;font-size:.875rem;margin-top:12px}.traveler-step{animation:fadeIn .3s ease}.traveler-step.loading-state{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:300px;gap:16px;color:#6b7280}.traveler-step .step-header{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:24px}.traveler-step .step-title{display:flex;align-items:flex-start;gap:12px}.traveler-step .step-title svg{color:#6366f1;flex-shrink:0;margin-top:2px}.traveler-step .step-title h3{margin:0 0 4px;font-size:1.25rem;font-weight:600;color:#111827}.traveler-step .step-title p{margin:0;font-size:.875rem;color:#6b7280}.traveler-step .btn-refresh{padding:8px;min-width:auto}.confirmation-progress{margin-bottom:20px}.confirmation-progress .progress-bar{height:6px;background:#e5e7eb;border-radius:3px;overflow:hidden;margin-bottom:8px}.confirmation-progress .progress-fill{height:100%;background:linear-gradient(90deg,#10b981,#059669);border-radius:3px;transition:width .3s ease}.confirmation-progress .progress-text{font-size:.8125rem;color:#6b7280}.travelers-list{display:flex;flex-direction:column;gap:16px}.all-confirmed-banner{display:flex;align-items:center;gap:10px;padding:14px 16px;background:linear-gradient(135deg,#ecfdf5,#d1fae5);border:1px solid #a7f3d0;border-radius:10px;color:#065f46;font-weight:500;margin-top:20px}.all-confirmed-banner svg{color:#10b981}.traveler-confirmation-card{background:#fff;border:1px solid #e5e7eb;border-radius:12px;overflow:hidden;transition:all .2s ease}.traveler-confirmation-card:hover{border-color:#d1d5db;box-shadow:0 2px 8px #0000000f}.traveler-confirmation-card.confirmed{border-color:#a7f3d0;background:linear-gradient(135deg,#fff,#f0fdf4)}.traveler-confirmation-card .traveler-header{display:flex;align-items:center;gap:12px;padding:16px;background:#f9fafb;border-bottom:1px solid #e5e7eb}.traveler-confirmation-card.confirmed .traveler-header{background:#ecfdf5;border-bottom-color:#a7f3d0}.traveler-confirmation-card .traveler-avatar{width:40px;height:40px;border-radius:50%;background:linear-gradient(135deg,#6366f1,#8b5cf6);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:600;font-size:.875rem;text-transform:uppercase}.traveler-confirmation-card .traveler-name-info{flex:1;display:flex;align-items:center;gap:8px}.traveler-confirmation-card .traveler-name{font-weight:600;color:#111827}.traveler-confirmation-card .you-badge{font-size:.6875rem;font-weight:500;color:#6366f1;background:#eef2ff;padding:2px 8px;border-radius:10px}.traveler-confirmation-card .confirmed-badge{display:flex;align-items:center;gap:4px;font-size:.75rem;font-weight:500;color:#059669;background:#d1fae5;padding:4px 10px;border-radius:20px}.traveler-confirmation-card .pending-badge{display:flex;align-items:center;gap:4px;font-size:.75rem;font-weight:500;color:#d97706;background:#fef3c7;padding:4px 10px;border-radius:20px}.traveler-confirmed-info{padding:16px}.traveler-confirmed-info .info-row{display:flex;align-items:center;gap:8px;color:#6b7280;font-size:.875rem}.traveler-confirmed-info .info-row svg{color:#9ca3af}.traveler-confirmed-info .confirmed-date{margin-top:8px;color:#059669}.traveler-confirmed-info .confirmed-date svg{color:#10b981}.traveler-confirm-form{padding:16px}.traveler-confirm-form .form-instruction{margin:0 0 16px;font-size:.875rem;color:#6b7280}.traveler-confirm-form .form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin-bottom:16px}.traveler-confirm-form .form-group{display:flex;flex-direction:column;gap:4px}.traveler-confirm-form .form-group.full-width{grid-column:span 2}.traveler-confirm-form label{font-size:.75rem;font-weight:500;color:#374151}.traveler-confirm-form input{padding:10px 12px;border:1px solid #d1d5db;border-radius:8px;font-size:.875rem;transition:all .2s}.traveler-confirm-form input:focus{outline:none;border-color:#6366f1;box-shadow:0 0 0 3px #6366f11a}.traveler-confirm-form input::placeholder{color:#9ca3af}.passport-section{background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;padding:16px;margin-bottom:16px}.passport-section .passport-header{display:flex;align-items:center;gap:8px;margin-bottom:12px;font-size:.875rem;font-weight:500;color:#475569}.passport-section .passport-header svg{color:#6366f1}.passport-section .form-grid{grid-template-columns:repeat(3,1fr);margin-bottom:0}.traveler-confirm-form .form-actions{display:flex;justify-content:flex-end;gap:12px;margin-top:8px}.traveler-waiting{padding:20px 16px;text-align:center;color:#d97706}.traveler-waiting svg{margin-bottom:4px}.traveler-waiting span{display:block;font-weight:500}.traveler-waiting .waiting-hint{margin-top:8px;font-size:.8125rem;color:#9ca3af;font-weight:400}.payment-selector{margin-bottom:24px}.payment-selector .saved-methods{margin-bottom:16px}.payment-selector .saved-methods h4{margin:0 0 12px;font-size:.875rem;font-weight:600;color:#374151}.payment-selector .methods-list{display:flex;flex-direction:column;gap:8px}.payment-method-card{display:flex;align-items:center;gap:12px;padding:14px 16px;background:#fff;border:2px solid #e5e7eb;border-radius:10px;cursor:pointer;transition:all .2s ease}.payment-method-card:hover{border-color:#d1d5db;background:#f9fafb}.payment-method-card.selected{border-color:#6366f1;background:#eef2ff}.payment-method-card input[type=radio]{accent-color:#6366f1;width:18px;height:18px;cursor:pointer}.payment-method-card .card-brand-badge{padding:4px 8px;border-radius:4px;color:#fff;font-size:.6875rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.payment-method-card .card-info{flex:1;display:flex;align-items:center;gap:4px;font-family:SF Mono,Monaco,Courier New,monospace}.payment-method-card .card-dots{color:#9ca3af;font-size:.75rem}.payment-method-card .card-last-four{color:#111827;font-weight:600;font-size:.875rem}.payment-method-card .card-expiry{font-size:.8125rem;color:#6b7280}.payment-method-card .default-badge{font-size:.6875rem;font-weight:500;color:#059669;background:#d1fae5;padding:2px 8px;border-radius:10px}.payment-method-card .selected-check{color:#6366f1}.add-card-btn{width:100%;justify-content:center;padding:14px 20px!important;border-style:dashed!important}.add-card-form{background:#f9fafb;border:1px solid #e5e7eb;border-radius:12px;padding:20px}.add-card-form .form-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.add-card-form .form-header h4{margin:0;font-size:1rem;font-weight:600;color:#111827}.add-card-form .btn-close{background:none;border:none;color:#6b7280;cursor:pointer;padding:4px;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:all .2s}.add-card-form .btn-close:hover{background:#e5e7eb;color:#374151}.add-card-form .form-error{background:#fef2f2;color:#dc2626;padding:10px 12px;border-radius:8px;font-size:.875rem;margin-bottom:16px}.add-card-form .form-group{margin-bottom:12px}.add-card-form .form-group.full-width{grid-column:span 3}.add-card-form .form-row{display:grid;gap:12px}.add-card-form .form-row.three-col{grid-template-columns:repeat(3,1fr)}.add-card-form label{display:block;font-size:.75rem;font-weight:500;color:#374151;margin-bottom:4px}.add-card-form input{width:100%;padding:10px 12px;border:1px solid #d1d5db;border-radius:8px;font-size:.875rem;transition:all .2s;box-sizing:border-box}.add-card-form input:focus{outline:none;border-color:#6366f1;box-shadow:0 0 0 3px #6366f11a}.card-number-input{position:relative;display:flex;align-items:center}.card-number-input svg{position:absolute;left:12px;color:#9ca3af}.card-number-input input{padding-left:40px;padding-right:70px}.card-number-input .card-brand-badge{position:absolute;right:12px}.add-card-form .form-note{display:flex;align-items:center;gap:8px;padding:10px 12px;background:#eff6ff;border-radius:8px;font-size:.8125rem;color:#1e40af;margin:16px 0}.add-card-form .form-note svg{color:#3b82f6;flex-shrink:0}.add-card-form .form-actions{display:flex;justify-content:flex-end;gap:12px;margin-top:8px}.payment-step{animation:fadeIn .3s ease}.payment-step.loading-state{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:300px;gap:16px;color:#6b7280}.payment-step .step-header{display:flex;align-items:flex-start;margin-bottom:24px}.payment-step .step-title{display:flex;align-items:flex-start;gap:12px}.payment-step .step-title svg{color:#6366f1;flex-shrink:0;margin-top:2px}.payment-step .step-title h3{margin:0 0 4px;font-size:1.25rem;font-weight:600;color:#111827}.payment-step .step-title p{margin:0;font-size:.875rem;color:#6b7280}.payment-info-cards{display:flex;flex-direction:column;gap:12px}.payment-step .info-card{display:flex;align-items:flex-start;gap:12px;padding:16px;border-radius:10px}.payment-step .info-card svg{flex-shrink:0;margin-top:2px}.payment-step .info-card strong{display:block;font-size:.875rem;color:#111827;margin-bottom:4px}.payment-step .info-card p{margin:0;font-size:.8125rem;color:#6b7280;line-height:1.5}.payment-step .security-note{background:#f0fdf4;border:1px solid #bbf7d0}.payment-step .security-note svg{color:#16a34a}.payment-step .convenience-note{background:#eff6ff;border:1px solid #bfdbfe}.payment-step .convenience-note svg{color:#2563eb}.no-method-warning{display:flex;align-items:center;gap:10px;padding:14px 16px;background:#fef3c7;border:1px solid #fcd34d;border-radius:10px;color:#92400e;font-size:.875rem;margin-top:16px}.confirmation-step{text-align:center;animation:fadeIn .3s ease;padding:20px 0}.success-animation{margin-bottom:24px}.success-circle{display:inline-flex;align-items:center;justify-content:center;width:100px;height:100px;background:linear-gradient(135deg,#ecfdf5,#d1fae5);border-radius:50%;animation:scaleIn .4s ease}@keyframes scaleIn{0%{transform:scale(0);opacity:0}50%{transform:scale(1.1)}to{transform:scale(1);opacity:1}}.success-check{color:#10b981;animation:checkIn .3s ease .2s both}@keyframes checkIn{0%{transform:scale(0)}to{transform:scale(1)}}.confirmation-step h2{margin:0 0 16px;font-size:1.75rem;font-weight:700;color:#111827}.confirmation-step .status-badge{display:inline-flex;align-items:center;gap:6px;padding:6px 14px;border-radius:20px;font-size:.8125rem;font-weight:500;margin-bottom:20px}.confirmation-step .status-badge.success{background:#d1fae5;color:#065f46}.confirmation-step .status-badge.info{background:#dbeafe;color:#1e40af}.confirmation-step .status-badge.warning{background:#fef3c7;color:#92400e}.confirmation-message{max-width:500px;margin:0 auto 32px;font-size:.9375rem;line-height:1.7;color:#4b5563}.confirmation-details{display:grid;gap:12px;text-align:left;margin-bottom:32px}.confirmation-step .detail-card{display:flex;align-items:flex-start;gap:14px;padding:16px;background:#f9fafb;border:1px solid #e5e7eb;border-radius:10px}.confirmation-step .detail-card.highlight{background:linear-gradient(135deg,#eef2ff,#e0e7ff);border-color:#c7d2fe}.confirmation-step .detail-icon{width:44px;height:44px;display:flex;align-items:center;justify-content:center;background:#fff;border-radius:10px;color:#6366f1;flex-shrink:0}.confirmation-step .detail-card.highlight .detail-icon{background:#6366f1;color:#fff}.confirmation-step .detail-content{flex:1}.confirmation-step .detail-content strong{display:block;font-size:.875rem;color:#111827;margin-bottom:4px}.confirmation-step .detail-content span{font-size:.8125rem;color:#6b7280;line-height:1.5}.confirmation-step .reference-number{font-family:SF Mono,Monaco,Courier New,monospace;font-size:1.125rem!important;font-weight:600;color:#6366f1!important;letter-spacing:1px}.next-steps{background:#f9fafb;border-radius:12px;padding:24px;margin-bottom:24px;text-align:left}.next-steps h4{margin:0 0 20px;font-size:1rem;font-weight:600;color:#111827;text-align:center}.steps-timeline{display:flex;flex-direction:column;gap:0;position:relative}.timeline-step{display:flex;align-items:flex-start;gap:16px;padding:12px 0;position:relative}.timeline-step:not(:last-child):after{content:"";position:absolute;left:15px;top:44px;bottom:-12px;width:2px;background:#e5e7eb}.timeline-step.completed:not(:last-child):after{background:#10b981}.timeline-step.active:not(:last-child):after{background:linear-gradient(to bottom,#6366f1 50%,#e5e7eb 50%)}.timeline-step .step-marker{width:32px;height:32px;display:flex;align-items:center;justify-content:center;background:#e5e7eb;border-radius:50%;color:#6b7280;font-size:.875rem;font-weight:600;flex-shrink:0;z-index:1}.timeline-step.completed .step-marker{background:#10b981;color:#fff}.timeline-step.active .step-marker{background:#6366f1;color:#fff;box-shadow:0 0 0 4px #6366f133}.processing-dot{width:10px;height:10px;background:#fff;border-radius:50%;animation:pulse 1.5s ease-in-out infinite}@keyframes pulse{0%,to{transform:scale(1);opacity:1}50%{transform:scale(1.3);opacity:.7}}.timeline-step .step-content strong{display:block;font-size:.875rem;color:#111827;margin-bottom:2px}.timeline-step .step-content span{font-size:.8125rem;color:#6b7280}.confirmation-actions{display:flex;justify-content:center;gap:12px}.confirmation-actions .btn{min-width:140px}.confirmation-actions .btn-primary{background:#6366f1}.confirmation-actions .btn-primary:hover{background:#4f46e5}.error-banner{display:flex;align-items:center;gap:10px;padding:12px 16px;background:#fef2f2;color:#dc2626;border-radius:8px;font-size:.875rem;margin-bottom:16px}.error-banner button{margin-left:auto;background:none;border:none;color:inherit;cursor:pointer;font-size:.8125rem;text-decoration:underline}.empty-state{text-align:center;padding:48px 24px;color:#6b7280}.empty-state svg{color:#d1d5db;margin-bottom:16px}.empty-state h4{margin:0 0 8px;font-size:1.125rem;color:#374151}.empty-state p{margin:0;font-size:.875rem}.btn-secondary{background:#fff;color:#374151;border:1px solid #d1d5db}.btn-secondary:hover:not(:disabled){background:#f9fafb;border-color:#9ca3af}@media(max-width:640px){.booking-wizard-overlay{padding:0}.booking-wizard-modal{max-height:100vh;border-radius:0;max-width:100%}.wizard-progress{padding:16px;overflow-x:auto}.wizard-step .step-title{display:none}.wizard-step:not(:last-child):after{left:calc(50% + 20px);width:calc(100% - 40px)}.wizard-content{padding:16px}.wizard-footer{padding:16px;flex-wrap:wrap}.booking-wizard-modal .btn-next,.booking-wizard-modal .btn-done{flex:1}.booking-wizard-modal .btn-back{order:2;flex:0 0 auto}.footer-spacer{display:none}}@media(max-width:480px){.wizard-footer{flex-direction:column;gap:8px}.booking-wizard-modal .btn{width:100%;justify-content:center}.booking-wizard-modal .btn-back{order:0}.receipt-preview{border-radius:0;box-shadow:none}.receipt-header{padding:20px 16px}.receipt-title{font-size:1.25rem}.receipt-section-header{padding:12px 16px 10px;font-size:.8125rem}.receipt-item-row{padding:14px 16px;gap:10px}.receipt-item-icon{width:32px;height:32px}.receipt-item-name{font-size:.875rem}.receipt-item-price{font-size:.875rem;min-width:70px}.receipt-item-details{gap:8px}.detail-item{font-size:.6875rem;padding:2px 6px}.receipt-footer{padding:16px}.receipt-totals{padding:12px}.receipt-total-row.total-row .receipt-total-value{font-size:1.125rem}.fee-info{padding:10px}.fee-info span{font-size:.75rem}}@media print{.receipt-preview{box-shadow:none;border:1px solid #e2e8f0}.receipt-header{background:#6366f1;-webkit-print-color-adjust:exact;print-color-adjust:exact}.receipt-controls{display:none}.receipt-item-row:hover{background:transparent}.fee-info{background:#f8fafc;border-color:#cbd5e1}}.trip-details{min-height:100vh;background:var(--white)}.trip-details .navbar{min-height:70px}.trip-details .navbar .logo-image{height:60px}.trip-layout{display:flex;min-height:calc(100vh - 70px);align-items:flex-start;margin-top:0;padding-top:0}.trip-main-content{flex:1;overflow-y:auto;margin-top:0;padding-top:0}.trip-main-content .container{max-width:none;padding-top:0;margin-top:0}.trip-hero{position:relative;margin:0 calc(-1 * var(--space-lg)) var(--space-2xl);border-radius:0 0 var(--radius-lg) var(--radius-lg);overflow:hidden;box-shadow:0 10px 40px #00000026}.trip-hero-background{background-size:cover;background-position:center;padding:var(--space-2xl);padding-top:80px;min-height:350px;display:flex;align-items:flex-end;position:relative}.trip-hero-background:before{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(0,0,0,.7),transparent 60%);pointer-events:none}.back-button-overlay{position:absolute;top:var(--space-lg);left:var(--space-lg);z-index:10;display:flex;align-items:center;gap:var(--space-sm);padding:var(--space-sm) var(--space-lg);background:#ffffff26;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.3);border-radius:var(--radius-full);color:#fff;font-size:.95rem;font-weight:600;cursor:pointer;transition:all .2s ease}.back-button-overlay:hover{background:#ffffff40;border-color:#ffffff80;transform:translate(-4px)}.book-trip-btn-hero{position:absolute;top:var(--space-lg);right:var(--space-lg);z-index:10;display:flex;align-items:center;gap:var(--space-sm);padding:var(--space-md) var(--space-xl);background:linear-gradient(135deg,#10b981,#059669);border:2px solid rgba(255,255,255,.3);border-radius:var(--radius-full);color:#fff;font-size:1rem;font-weight:700;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 15px #10b98166}.book-trip-btn-hero:hover{background:linear-gradient(135deg,#059669,#047857);border-color:#ffffff80;transform:translateY(-3px);box-shadow:0 8px 25px #10b98180}.book-trip-btn-hero:active{transform:translateY(-1px)}.book-trip-bottom-container{margin-top:var(--space-2xl);padding:var(--space-2xl);background:linear-gradient(135deg,#f0fdf4,#dcfce7);border-radius:var(--radius-lg);border:2px solid #86efac;box-shadow:0 4px 20px #10b98126}.book-trip-bottom-content{display:flex;align-items:center;justify-content:space-between;gap:var(--space-xl)}.book-trip-bottom-info h3{margin:0 0 var(--space-sm) 0;font-size:1.5rem;font-weight:700;color:#065f46}.book-trip-bottom-info p{margin:0;font-size:1rem;color:#047857;max-width:500px}.book-trip-btn-bottom{display:flex;align-items:center;gap:var(--space-md);padding:var(--space-lg) var(--space-2xl);background:linear-gradient(135deg,#10b981,#059669);border:none;border-radius:var(--radius-lg);color:#fff;font-size:1.2rem;font-weight:700;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 15px #10b98166;white-space:nowrap;flex-shrink:0}.book-trip-btn-bottom:hover{background:linear-gradient(135deg,#059669,#047857);transform:translateY(-3px);box-shadow:0 8px 25px #10b98180}.book-trip-btn-bottom:active{transform:translateY(-1px)}.trip-hero-content{position:relative;z-index:1;color:var(--white);max-width:1200px;width:100%}.trip-name-display{display:flex;align-items:center;gap:var(--space-md);margin-bottom:var(--space-md);flex-wrap:wrap}.trip-hero-title{font-size:3.5rem;font-weight:800;color:var(--white);margin:0;text-shadow:0 4px 12px rgba(0,0,0,.4);letter-spacing:-1px;line-height:1.1}.btn-edit-name{background:#fff3;border:2px solid rgba(255,255,255,.5);color:var(--white);padding:var(--space-sm) var(--space-md);border-radius:var(--radius-sm);cursor:pointer;display:flex;align-items:center;gap:var(--space-xs);transition:all .2s ease;font-size:.9rem;font-weight:500}.btn-edit-name:hover{background:#ffffff4d;border-color:var(--white);transform:translateY(-2px)}.trip-name-edit{display:flex;flex-direction:column;gap:var(--space-md);width:100%;max-width:700px;margin-bottom:var(--space-md)}.trip-name-input{width:100%;padding:var(--space-md) var(--space-lg);font-size:2.5rem;font-weight:800;text-align:left;border:3px solid var(--white);border-radius:var(--radius-md);background:#fffffff2;color:var(--dark-blue);font-family:inherit;letter-spacing:-1px}.trip-name-input:focus{outline:none;background:var(--white);box-shadow:0 0 0 4px #ffffff4d}.trip-name-actions{display:flex;gap:var(--space-sm)}.btn-sm{padding:var(--space-sm) var(--space-lg);font-size:.9rem;font-weight:600}.trip-hero-location{display:flex;align-items:center;gap:var(--space-sm);font-size:1.5rem;font-weight:600;color:var(--white);margin-bottom:var(--space-xl);text-shadow:0 2px 8px rgba(0,0,0,.3)}.trip-hero-meta{display:flex;gap:var(--space-2xl);flex-wrap:wrap}.hero-meta-item{display:flex;align-items:center;gap:var(--space-md);background:#ffffff26;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);padding:var(--space-md) var(--space-lg);border-radius:var(--radius-md);border:1px solid rgba(255,255,255,.2)}.hero-meta-item svg{flex-shrink:0}.meta-label{font-size:.85rem;opacity:.9;font-weight:500;text-transform:uppercase;letter-spacing:.5px}.meta-value{font-size:1.1rem;font-weight:700}.trip-overview-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:var(--space-lg);margin-bottom:var(--space-2xl)}.stat-card{background:var(--white);padding:var(--space-xl);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);display:flex;align-items:center;gap:var(--space-lg);transition:all .3s ease;border:2px solid transparent}.stat-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg);border-color:var(--primary-orange)}.stat-icon{font-size:3rem;line-height:1}.stat-content{flex:1}.stat-value{font-size:2.5rem;font-weight:800;color:var(--text-primary);line-height:1;margin-bottom:var(--space-xs)}.stat-label{font-size:.95rem;color:var(--text-secondary);font-weight:600;text-transform:uppercase;letter-spacing:.5px}.trip-actions{display:flex;gap:var(--space-md);margin-bottom:var(--space-xl);flex-wrap:wrap}.btn-export-pdf{display:inline-flex;align-items:center;gap:var(--space-sm);padding:14px 28px;background:linear-gradient(135deg,#1a1a2e,#16213e);color:var(--white);font-weight:600;font-size:1rem;border:none;border-radius:var(--radius-md);cursor:pointer;transition:all .3s ease;box-shadow:0 4px 12px #1a1a2e40}.btn-export-pdf:hover:not(:disabled){transform:translateY(-3px);box-shadow:0 8px 20px #1a1a2e59;background:linear-gradient(135deg,#16213e,#0f3460)}.btn-export-pdf:disabled{opacity:.6;cursor:not-allowed;transform:none}.btn-invite{display:inline-flex;align-items:center;gap:var(--space-sm);padding:14px 28px;background:linear-gradient(135deg,var(--primary-blue) 0%,var(--accent-blue) 100%);color:var(--white);font-weight:600;font-size:1rem;border:none;border-radius:var(--radius-md);cursor:pointer;transition:all .3s ease;box-shadow:0 4px 12px #2563eb40}.btn-invite:hover{transform:translateY(-3px);box-shadow:0 8px 20px #2563eb59;background:linear-gradient(135deg,var(--dark-blue) 0%,var(--primary-blue) 100%)}.btn-share{display:inline-flex;align-items:center;gap:var(--space-sm);padding:14px 28px;background:linear-gradient(135deg,#10b981,#059669);color:var(--white);font-weight:600;font-size:1rem;border:none;border-radius:var(--radius-md);cursor:pointer;transition:all .3s ease;box-shadow:0 4px 12px #10b98140}.btn-share:hover{transform:translateY(-3px);box-shadow:0 8px 20px #10b98159;background:linear-gradient(135deg,#059669,#047857)}.trip-tabs{display:flex;gap:var(--space-xs);background:var(--white);padding:var(--space-sm) var(--space-md);border-radius:var(--radius-lg);margin-bottom:var(--space-xl);box-shadow:var(--shadow-sm);border-bottom:2px solid var(--border)}.trip-tab{flex:1;display:flex;align-items:center;justify-content:center;gap:var(--space-sm);padding:var(--space-md) var(--space-lg);background:transparent;border:none;border-bottom:3px solid transparent;border-radius:0;font-size:1rem;font-weight:600;color:var(--text-secondary);cursor:pointer;transition:all .2s ease;margin-bottom:-2px}.trip-tab:hover{color:var(--primary-orange);background:#ff8c420d}.trip-tab.active{color:var(--primary-orange);border-bottom-color:var(--primary-orange);background:transparent}.view-mode-toggle{display:flex;gap:var(--space-sm);background:var(--white);padding:var(--space-sm);border-radius:var(--radius-md);margin-bottom:var(--space-lg);box-shadow:var(--shadow-sm)}.toggle-btn{flex:1;display:flex;align-items:center;justify-content:center;gap:var(--space-sm);padding:var(--space-sm) var(--space-lg);background:transparent;border:2px solid transparent;border-radius:var(--radius-sm);cursor:pointer;transition:all .2s ease;font-weight:500;color:var(--text-secondary)}.toggle-btn:hover{background:var(--background);color:var(--text-primary)}.toggle-btn.active{background:var(--primary-blue);color:var(--white);border-color:var(--primary-blue)}.itinerary-section,.city-section{margin-bottom:var(--space-2xl)}.city-header-card{background:linear-gradient(135deg,#667eea,#764ba2);border-radius:var(--radius-lg);padding:var(--space-2xl);margin-bottom:var(--space-xl);text-align:center;box-shadow:0 8px 24px #0003;position:relative;overflow:hidden;min-height:280px;display:flex;flex-direction:column;justify-content:center;align-items:center}.city-header-card:before{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(0,0,0,.5),transparent 60%);pointer-events:none}.city-header-card .city-name,.city-name{font-size:4.5rem!important;font-weight:800!important;color:#fff!important;margin:0 0 var(--space-md) 0!important;text-shadow:0 4px 16px rgba(0,0,0,.7),0 2px 4px rgba(0,0,0,.5)!important;letter-spacing:-1px;z-index:1;position:relative;line-height:1.1!important}.city-dates{font-size:1.4rem;color:#fffffffa;margin:0;text-shadow:0 2px 6px rgba(0,0,0,.3);font-weight:600;z-index:1;position:relative;background:#ffffff26;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);padding:var(--space-sm) var(--space-xl);border-radius:var(--radius-full);border:1px solid rgba(255,255,255,.2)}.day-section{background:var(--white);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);margin-bottom:var(--space-lg);overflow:hidden}.day-header{display:flex;justify-content:space-between;align-items:center;padding:var(--space-lg) var(--space-xl);background:linear-gradient(135deg,var(--primary-blue),var(--accent-blue));color:var(--white);cursor:pointer;transition:all .2s ease}.day-header:hover{filter:brightness(1.05)}.day-header-content{display:flex;align-items:baseline;gap:var(--space-lg);flex:1}.day-header h3{margin:0;font-size:1.25rem;font-weight:600;color:#fff}.activity-count{background:#fff3;padding:var(--space-xs) var(--space-md);border-radius:var(--radius-full);font-size:.85rem;font-weight:500}.expand-btn{background:none;border:none;color:#fff;cursor:pointer;padding:var(--space-sm);display:flex;align-items:center;transition:transform .2s ease}.expand-btn:hover{transform:scale(1.1)}.activities-timeline{padding:var(--space-lg)}.activity-card.enhanced{display:flex;flex-direction:row;align-items:flex-start;gap:var(--space-lg);padding:var(--space-lg);background:var(--white);border:2px solid var(--border);border-radius:var(--radius-lg);margin-bottom:var(--space-md);cursor:pointer;transition:all .2s ease;position:relative}.activity-card.enhanced:hover{transform:translateY(-2px);box-shadow:var(--shadow-lg);border-color:var(--primary-orange)}.activity-card.enhanced:last-child{margin-bottom:0}.activity-hero-image-container{width:180px;height:140px;flex-shrink:0;border-radius:var(--radius-lg);overflow:hidden;position:relative;cursor:pointer;transition:all .2s ease;box-shadow:var(--shadow-md)}.activity-hero-image-container:hover{transform:scale(1.02);box-shadow:var(--shadow-lg)}.activity-hero-img{width:100%;height:100%;object-fit:cover;transition:transform .3s ease}.activity-hero-image-container:hover .activity-hero-img{transform:scale(1.05)}.photo-count-badge{position:absolute;bottom:var(--space-sm);right:var(--space-sm);background:#000000bf;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:#fff;padding:4px 8px;border-radius:var(--radius-sm);font-size:.75rem;font-weight:600;display:flex;align-items:center;gap:4px}.activity-hero-placeholder{width:100%;height:100%;background:linear-gradient(135deg,#f8fafc,#e2e8f0);display:flex;align-items:center;justify-content:center}.activity-hero-placeholder.travel-placeholder{background:linear-gradient(180deg,#e0f2fe,#bae6fd,#7dd3fc)}.placeholder-icon{font-size:2.5rem;opacity:.6}.travel-placeholder .placeholder-icon{font-size:3rem;opacity:.7;filter:drop-shadow(0 2px 4px rgba(0,0,0,.1))}.activity-hero-placeholder.flight-placeholder{background:linear-gradient(135deg,#e0f2fe,#bae6fd 40%,#7dd3fc);border:2px solid rgba(56,189,248,.3);border-radius:var(--radius-lg) var(--radius-lg) 0 0}.flight-placeholder .placeholder-icon{font-size:3rem;opacity:.85;filter:drop-shadow(0 3px 6px rgba(14,165,233,.3));animation:floatPlane 3s ease-in-out infinite}.activity-hero-placeholder.transport-placeholder{background:linear-gradient(135deg,#f8fafc,#e2e8f0 40%,#cbd5e1);border:2px solid rgba(100,116,139,.25);border-radius:var(--radius-lg) var(--radius-lg) 0 0}.transport-placeholder .placeholder-icon{font-size:3rem;opacity:.85;filter:drop-shadow(0 3px 6px rgba(71,85,105,.25))}@keyframes floatPlane{0%,to{transform:translateY(0)}50%{transform:translateY(-5px)}}.activity-card-content{flex:1;min-width:0;display:flex;flex-direction:column}.activity-card-header{display:flex;justify-content:space-between;align-items:center;gap:var(--space-md)}.activity-card-header:has(.activity-time-display:not(:empty)){margin-bottom:var(--space-sm)}.activity-time-display{display:flex;align-items:center;gap:var(--space-md);font-weight:600}.activity-time-display:empty{display:none}.activity-time{display:flex;align-items:center;gap:var(--space-xs);color:var(--text-secondary);font-weight:600;font-size:.95rem}.activity-title-row{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--space-md);margin-bottom:var(--space-xs)}.activity-card-content h4{margin:0;color:var(--text-primary);font-size:1.4rem;font-weight:700;line-height:1.3;letter-spacing:-.3px;flex:1;min-width:0}.activity-category-badge{display:inline-flex;align-items:center;padding:4px 12px;border-radius:var(--radius-full);font-size:.8rem;font-weight:600;letter-spacing:.3px;white-space:nowrap;flex-shrink:0;margin-top:4px}.activity-meta-row{display:flex;align-items:center;gap:var(--space-md);margin-bottom:var(--space-sm);flex-wrap:wrap}.rating-badge{display:inline-flex;align-items:center;gap:var(--space-xs);background:linear-gradient(135deg,#fef3c7,#fde68a);padding:4px 10px;border-radius:var(--radius-full);font-weight:600;font-size:.9rem}.rating-badge .rating-value{color:#92400e;font-weight:700}.rating-badge .review-count{color:#78716c;font-weight:500;font-size:.8rem}.activity-description{color:var(--text-secondary);margin:0 0 var(--space-md) 0;line-height:1.6;font-size:.95rem;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.activity-details-row{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--space-md);margin-top:auto}.activity-details-left{display:flex;flex-wrap:wrap;gap:var(--space-sm);flex:1}.activity-detail{display:flex;align-items:center;gap:var(--space-xs);color:var(--text-primary);font-size:.9rem;background:var(--background);padding:var(--space-xs) var(--space-sm);border-radius:var(--radius-sm);font-weight:500;border:1px solid var(--border)}.activity-detail svg{color:var(--primary-blue);flex-shrink:0}.activity-booking-btn{display:inline-flex;align-items:center;gap:var(--space-xs);padding:8px 16px;background:linear-gradient(135deg,var(--primary-orange) 0%,var(--light-orange) 100%);color:#fff;font-weight:600;font-size:.85rem;border-radius:var(--radius-md);text-decoration:none;transition:all .2s ease;box-shadow:0 2px 8px #ff8c424d;white-space:nowrap;flex-shrink:0;border:none;cursor:pointer}.activity-booking-btn:hover{transform:translateY(-2px);box-shadow:0 4px 12px #ff8c4266;color:#fff}.activity-booking-btn.flight-book-btn{background:linear-gradient(135deg,var(--primary-blue) 0%,var(--accent-blue) 100%);box-shadow:0 2px 8px #3b82f64d}.activity-booking-btn.flight-book-btn:hover{box-shadow:0 4px 12px #3b82f666}.activity-booking-btn.hotel-book-btn{background:linear-gradient(135deg,#7b1fa2,#9c27b0);box-shadow:0 2px 8px #7b1fa24d}.activity-booking-btn.hotel-book-btn:hover{box-shadow:0 4px 12px #7b1fa266}.flight-booked-badge,.hotel-booked-badge{display:inline-flex;align-items:center;gap:var(--space-xs);padding:6px 12px;background:#10b98126;color:#10b981;font-weight:600;font-size:.8rem;border-radius:var(--radius-md);border:1px solid rgba(16,185,129,.3)}.assigned-users{display:flex;align-items:center;gap:var(--space-sm);margin-top:var(--space-sm);padding:var(--space-xs) var(--space-sm);background:#e3f2fd;border-radius:var(--radius-sm);color:#1976d2;font-size:.85rem}.assigned-users svg{flex-shrink:0}.reviews-indicator{margin-top:var(--space-sm);padding:var(--space-xs) var(--space-sm);background:#fff9e6;border-radius:var(--radius-sm);color:#f59e0b;font-size:.85rem;display:inline-flex;align-items:center;gap:var(--space-xs)}.empty-state{text-align:center;padding:var(--space-2xl);background:var(--white);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}.empty-state-icon{font-size:4rem;margin-bottom:var(--space-md)}.empty-state h3{margin:var(--space-md) 0;color:var(--text-primary);font-size:1.5rem}.empty-state p{color:var(--text-secondary);margin-bottom:var(--space-xl)}.empty-state .error-message{color:#d32f2f;background:#ffebee;padding:var(--space-md) var(--space-lg);border-radius:var(--radius-md);border:1px solid #ffcdd2;margin-bottom:var(--space-xl);max-width:500px;margin-left:auto;margin-right:auto}.empty-state-buttons{display:flex;gap:var(--space-md);justify-content:center;flex-wrap:wrap}.rebuild-btn{display:flex;align-items:center;gap:var(--space-sm)}@media(max-width:768px){.trip-hero-title{font-size:2.5rem}.trip-hero-location{font-size:1.2rem}.hero-meta-item{flex:1;min-width:150px}.book-trip-btn-hero{top:auto;bottom:var(--space-lg);right:var(--space-lg);padding:var(--space-sm) var(--space-lg);font-size:.9rem}.book-trip-bottom-content{flex-direction:column;text-align:center}.book-trip-bottom-info h3{font-size:1.3rem}.book-trip-bottom-info p{font-size:.95rem}.book-trip-btn-bottom{width:100%;justify-content:center;padding:var(--space-md) var(--space-xl);font-size:1.1rem}.trip-overview-stats{grid-template-columns:1fr}.trip-header{flex-direction:column;align-items:stretch}.trip-header-actions{flex-direction:column;gap:.5rem}.trip-header-actions .btn{width:100%}.activity-card.enhanced{flex-direction:column;gap:var(--space-md)}.activity-photo{width:100%;height:220px}.activity-hero-image-container{width:100%;height:180px;border-radius:var(--radius-md)}.activity-card-header{flex-direction:column;align-items:flex-start;gap:var(--space-sm)}.activity-details-grid,.activity-details-left{flex-direction:column;gap:.5rem}.activity-details-row{flex-direction:column;gap:var(--space-md)}.view-mode-toggle{flex-direction:column}.activity-meta-row{gap:var(--space-md)}.activity-booking-btn{width:100%;justify-content:center}}@media(max-width:768px){.city-header-card{padding:2rem 1.5rem;min-height:200px}.city-header-card .city-name,.city-name{font-size:3rem!important}.city-dates{font-size:1.2rem}}@media(max-width:480px){.trip-hero-title{font-size:2rem}.trip-hero-background{min-height:240px;padding:var(--space-lg)}.book-trip-btn-hero{padding:var(--space-xs) var(--space-md);font-size:.85rem;gap:var(--space-xs)}.book-trip-btn-hero svg{width:16px;height:16px}.book-trip-bottom-container{padding:var(--space-xl);margin-top:var(--space-xl)}.book-trip-bottom-info h3{font-size:1.1rem}.book-trip-bottom-info p{font-size:.9rem}.book-trip-btn-bottom{padding:var(--space-md) var(--space-lg);font-size:1rem}.hero-meta-item,.stat-card{flex-direction:column;text-align:center}.stat-icon{font-size:2.5rem}.time-block-header{flex-direction:column;gap:var(--space-sm);text-align:center}.trip-header h1{font-size:1.5rem}.day-header h3{font-size:1rem}.activity-card-content h4{font-size:1.2rem}.city-header-card{padding:var(--space-xl) var(--space-md);min-height:220px}.city-header-card .city-name,.city-name{font-size:2.5rem!important}.city-dates{font-size:1.1rem}}.trip-tabs{display:flex;gap:var(--space-sm);background:var(--white);padding:var(--space-sm);border-radius:var(--radius-lg);margin-bottom:var(--space-xl);box-shadow:var(--shadow-sm)}.trip-tab{flex:1;display:flex;align-items:center;justify-content:center;gap:var(--space-sm);padding:var(--space-md) var(--space-lg);background:transparent;border:2px solid transparent;border-radius:var(--radius-md);font-size:1rem;font-weight:600;color:var(--text-secondary);cursor:pointer;transition:all .3s ease}.trip-tab:hover{background:var(--background);color:var(--text-primary)}.trip-tab.active{background:linear-gradient(135deg,var(--primary-orange) 0%,var(--light-orange) 100%);color:var(--white);box-shadow:0 4px 12px #ff8c424d}.trip-tab .spin{animation:spin 1s linear infinite}.tab-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--space-2xl);background:var(--white);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);min-height:400px}.tab-loading .spin{color:var(--primary-orange);animation:spin 1s linear infinite;margin-bottom:var(--space-lg)}.tab-loading p{font-size:1.2rem;font-weight:600;color:var(--text-primary);margin-bottom:var(--space-sm)}.tab-loading .loading-subtext{font-size:.95rem;color:var(--text-secondary)}.chatbot-sidebar-container{width:400px;border-left:1px solid var(--border);background:var(--white);height:calc(100vh - 70px);max-height:calc(100vh - 70px);position:sticky;top:70px;flex-shrink:0;z-index:50;align-self:flex-start}.map-tab-content{animation:fadeIn .3s ease;display:flex;flex-direction:column}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.map-container{background:var(--white);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);overflow:hidden}.map-header{padding:var(--space-md) var(--space-xl);border-bottom:1px solid var(--border);background:var(--white)}.map-header h3{margin:0 0 var(--space-xs) 0;font-size:1.5rem}.map-header p{margin:0;color:var(--text-secondary)}.leaflet-map-container{width:100%!important;height:60vh!important;min-height:60vh!important;z-index:1}.map-whitespace{height:var(--space-xl);background:var(--background)}.custom-map-marker{background:transparent;border:none}.marker-pin{width:36px;height:36px;border-radius:50% 50% 50% 0;background:var(--primary-orange);transform:rotate(-45deg);display:flex;align-items:center;justify-content:center;box-shadow:0 3px 10px #0000004d;border:3px solid white}.marker-number{transform:rotate(45deg);color:#fff;font-weight:700;font-size:14px}.activity-popup .leaflet-popup-content-wrapper{border-radius:var(--radius-md);padding:0;overflow:hidden;box-shadow:var(--shadow-lg)}.activity-popup .leaflet-popup-content{margin:0;min-width:200px}.map-popup{cursor:pointer}.map-popup .popup-photo{width:100%;height:120px;object-fit:cover;display:block}.map-popup .popup-photo-placeholder{width:100%;height:80px;background:linear-gradient(135deg,var(--background) 0%,var(--light-gray) 100%);display:flex;align-items:center;justify-content:center;font-size:2rem}.map-popup .popup-content{padding:var(--space-md)}.map-popup h4{margin:0 0 var(--space-xs) 0;font-size:1rem;font-weight:600;color:var(--text-primary);line-height:1.3}.map-popup .popup-location{margin:0 0 4px;font-size:.85rem;color:var(--text-secondary)}.map-popup .popup-date{margin:0 0 var(--space-sm) 0;font-size:.8rem;color:var(--gray)}.map-popup .popup-category{display:inline-block;padding:3px 10px;border-radius:var(--radius-full);font-size:.75rem;font-weight:600;color:#fff;text-transform:capitalize}.tips-tab-content{animation:fadeIn .3s ease}.tips-container{display:flex;flex-direction:column;gap:var(--space-xl)}.tips-section{background:var(--white);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);overflow:hidden}.tips-section-header{display:flex;align-items:center;gap:var(--space-md);padding:var(--space-xl);border-bottom:1px solid var(--border)}.tips-section-header h3{margin:0;font-size:1.4rem}.tips-section-header svg{color:var(--primary-orange)}.tips-error{padding:var(--space-xl);color:var(--text-secondary);font-style:italic}.weather-section .tips-section-header{background:linear-gradient(135deg,#e0f2fe,#bae6fd)}.weather-section .tips-section-header svg{color:#0284c7}.weather-content{padding:var(--space-xl)}.weather-summary{font-size:1.1rem;margin-bottom:var(--space-xl);line-height:1.6}.weather-temps{display:flex;gap:var(--space-lg);margin-bottom:var(--space-xl);flex-wrap:wrap}.temp-card{flex:1;min-width:120px;padding:var(--space-lg);border-radius:var(--radius-lg);text-align:center}.temp-card.high{background:linear-gradient(135deg,#fef3c7,#fde68a)}.temp-card.low{background:linear-gradient(135deg,#e0f2fe,#bae6fd)}.temp-card.rain{background:linear-gradient(135deg,#e5e7eb,#d1d5db)}.temp-label{display:block;font-size:.85rem;font-weight:600;color:var(--text-secondary);margin-bottom:var(--space-xs);text-transform:uppercase;letter-spacing:.5px}.temp-value{display:block;font-size:2rem;font-weight:800;color:var(--text-primary)}.temp-celsius{display:block;font-size:.9rem;color:var(--text-secondary);margin-top:var(--space-xs)}.weather-conditions{display:flex;flex-wrap:wrap;gap:var(--space-sm);margin-bottom:var(--space-lg)}.condition-tag{padding:var(--space-sm) var(--space-md);background:var(--background);border-radius:var(--radius-full);font-size:.9rem;font-weight:500}.weather-recommendations{background:#f0fdf4;padding:var(--space-lg);border-radius:var(--radius-md);border-left:4px solid #22c55e}.weather-recommendations .recommendation{margin:0 0 var(--space-sm) 0;font-size:.95rem}.weather-recommendations .recommendation:last-child{margin-bottom:0}.packing-section .tips-section-header{background:linear-gradient(135deg,#fef3c7,#fde68a)}.packing-section .tips-section-header svg{color:#d97706}.packing-content{padding:var(--space-xl)}.packing-summary{font-size:1.05rem;margin-bottom:var(--space-xl);line-height:1.6}.packing-categories{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:var(--space-xl);margin-bottom:var(--space-xl)}.packing-category{background:var(--background);padding:var(--space-lg);border-radius:var(--radius-lg)}.packing-category h4{display:flex;align-items:center;gap:var(--space-sm);margin:0 0 var(--space-md) 0;font-size:1.1rem}.category-icon{font-size:1.3rem}.packing-items{list-style:none;padding:0;margin:0}.packing-item{display:flex;align-items:flex-start;gap:var(--space-sm);padding:var(--space-sm) 0;border-bottom:1px solid var(--border)}.packing-item:last-child{border-bottom:none}.packing-item .item-name{flex:1;font-weight:500}.packing-item .item-note{font-size:.85rem;color:var(--text-secondary);font-style:italic}.packing-item.essential .item-name:before{content:""}.essential-badge{background:#dcfce7;color:#166534;padding:2px 8px;border-radius:var(--radius-full);font-size:.7rem;font-weight:600;text-transform:uppercase}.pro-tips{background:#fef3c7;padding:var(--space-lg);border-radius:var(--radius-md)}.pro-tips h4{margin:0 0 var(--space-md) 0;font-size:1rem}.pro-tips p{margin:0 0 var(--space-sm) 0;font-size:.95rem}.pro-tips p:last-child{margin-bottom:0}.travel-section .tips-section-header{background:linear-gradient(135deg,#ede9fe,#ddd6fe)}.travel-section .tips-section-header svg{color:#7c3aed}.travel-content{padding:var(--space-xl)}.destination-overview{font-size:1.1rem;margin-bottom:var(--space-xl);line-height:1.6;padding-bottom:var(--space-lg);border-bottom:1px solid var(--border)}.must-know{margin-bottom:var(--space-xl)}.must-know h4{margin:0 0 var(--space-md) 0}.must-know-items{display:flex;flex-wrap:wrap;gap:var(--space-sm)}.must-know-item{padding:var(--space-sm) var(--space-md);background:var(--primary-blue);color:var(--white);border-radius:var(--radius-full);font-size:.9rem;font-weight:500}.travel-categories{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:var(--space-xl);margin-bottom:var(--space-xl)}.travel-category{background:var(--background);padding:var(--space-lg);border-radius:var(--radius-lg)}.travel-category h4{display:flex;align-items:center;gap:var(--space-sm);margin:0 0 var(--space-md) 0;font-size:1.1rem}.travel-tips-list{list-style:none;padding:0;margin:0}.travel-tip{padding:var(--space-sm) 0;border-bottom:1px solid var(--border);font-size:.95rem}.travel-tip:last-child{border-bottom:none}.travel-tip.high:before{content:""}.insider-secrets{background:linear-gradient(135deg,#fdf4ff,#f5d0fe);padding:var(--space-lg);border-radius:var(--radius-md)}.insider-secrets h4{margin:0 0 var(--space-md) 0;font-size:1rem}.insider-secrets p{margin:0 0 var(--space-sm) 0;font-size:.95rem}.insider-secrets p:last-child{margin-bottom:0}@media(max-width:1024px){.chatbot-sidebar-container{display:none}.trip-layout{flex-direction:column}}@media(max-width:768px){.trip-hero-title{font-size:2.5rem}.trip-hero-location{font-size:1.2rem}.trip-hero-background{min-height:280px;padding:var(--space-xl);padding-top:70px}.hero-meta-item{flex:1;min-width:150px}.trip-overview-stats{grid-template-columns:1fr}.trip-tabs{padding:var(--space-xs)}.trip-tab{padding:var(--space-sm) var(--space-md);font-size:.9rem;flex-direction:column;gap:var(--space-xs)}.activity-card.enhanced{flex-direction:column;gap:var(--space-md)}.activity-hero-image-container{width:100%;height:180px;border-radius:var(--radius-md)}.activity-card-header{flex-direction:column;align-items:flex-start;gap:var(--space-sm)}.activity-title-row{flex-direction:column;gap:var(--space-sm)}.activity-details-row{flex-direction:column;gap:var(--space-md)}.activity-details-left{flex-direction:column;gap:var(--space-xs)}.activity-booking-btn{width:100%;justify-content:center}.view-mode-toggle{flex-direction:column}.leaflet-map-container{height:50vh!important;min-height:50vh!important}.weather-temps{flex-direction:column}.temp-card{min-width:100%}.packing-categories,.travel-categories{grid-template-columns:1fr}.city-header-card{padding:var(--space-xl) var(--space-lg);min-height:240px}.city-header-card .city-name,.city-name{font-size:3.5rem!important}.city-dates{font-size:1.3rem}}@media(max-width:480px){.trip-hero-title{font-size:2rem}.trip-hero-background{min-height:240px;padding:var(--space-lg);padding-top:60px}.back-button-overlay{font-size:.85rem;padding:var(--space-xs) var(--space-md)}.hero-meta-item{flex-direction:column;text-align:center;padding:var(--space-sm) var(--space-md)}.stat-card{flex-direction:column;text-align:center;padding:var(--space-lg)}.stat-icon{font-size:2.5rem}.stat-value{font-size:2rem}.trip-tab svg{display:none}.day-header{padding:var(--space-md)}.day-header h3{font-size:1rem}.activities-timeline{padding:var(--space-md)}.activity-card-content h4{font-size:1.2rem}.city-header-card{padding:var(--space-lg) var(--space-md);min-height:220px}.city-header-card .city-name,.city-name{font-size:2.25rem!important}.city-dates{font-size:1.1rem;padding:var(--space-xs) var(--space-md)}.tips-section-header{padding:var(--space-lg)}.tips-section-header h3{font-size:1.2rem}.weather-content,.packing-content,.travel-content{padding:var(--space-lg)}.trip-actions{flex-direction:column}.btn-export-pdf,.btn-invite,.btn-share{width:100%;justify-content:center}}.evergreen-survey-v2{max-width:800px;margin:0 auto;padding:20px;font-family:DM Sans,-apple-system,sans-serif}.survey-progress-header{position:sticky;top:0;background:linear-gradient(180deg,#fff,#fffffffa);padding:20px 0;z-index:100;margin-bottom:30px}.progress-bar-bg{height:6px;background:#e5e7eb;border-radius:3px;overflow:hidden;margin-bottom:16px}.progress-bar-fill{height:100%;background:linear-gradient(90deg,#ff6b35,#f7c948);border-radius:3px;transition:width .5s cubic-bezier(.4,0,.2,1)}.progress-sections{display:flex;justify-content:center;gap:8px}.progress-dot{width:32px;height:32px;border-radius:50%;border:2px solid #d1d5db;background:#f9fafb;color:#6b7280;font-size:12px;font-weight:600;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .3s ease}.progress-dot.active{border-color:#ff6b35;background:#ff6b35;color:#fff;transform:scale(1.1);box-shadow:0 0 20px #ff6b3566}.progress-dot.completed{border-color:#22c55e;background:#22c55e;color:#fff}.progress-dot:hover:not(.active){border-color:#ff6b35;transform:scale(1.05)}.section-header-v2{display:flex;gap:20px;align-items:flex-start;padding:30px;background:linear-gradient(145deg,#f8f9fa,#fff);border-radius:20px;margin-bottom:30px;border:1px solid #e5e7eb;box-shadow:0 2px 8px #0000000a}.section-icon-wrapper{width:64px;height:64px;background:linear-gradient(135deg,#ff6b35,#f7c948);border-radius:16px;display:flex;align-items:center;justify-content:center;color:#fff;flex-shrink:0}.section-header-content{flex:1}.section-number{font-size:12px;text-transform:uppercase;letter-spacing:2px;color:#ff6b35;font-weight:600;margin-bottom:8px;display:block}.section-header-content h2{font-size:28px;font-weight:700;color:#1a1a2e;margin:0 0 8px;line-height:1.2}.section-header-content p{color:#6b7280;margin:0;font-size:16px}.questions-container{display:flex;flex-direction:column;gap:32px}.question-block{background:#fff;border-radius:16px;padding:24px;border:1px solid #e5e7eb;transition:all .3s ease;box-shadow:0 2px 8px #0000000a}.question-block:hover{border-color:#d1d5db;box-shadow:0 4px 12px #0000000f}.question-header{display:flex;align-items:flex-start;gap:16px;margin-bottom:16px}.question-number{width:28px;height:28px;background:linear-gradient(135deg,#ff6b35,#f7c948);border-radius:8px;display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:700;color:#fff;flex-shrink:0}.question-text{font-size:18px;font-weight:600;color:#1a1a2e;margin:0;line-height:1.4}.question-hint{font-size:14px;color:#6b7280;margin:0 0 16px 44px}.question-content{margin-left:44px}.question-slider{padding:10px 0}.slider-labels{display:flex;justify-content:space-between;margin-bottom:16px}.slider-label{font-size:14px;color:#4b5563;display:flex;align-items:center;gap:6px}.slider-label.left{text-align:left}.slider-label.right{text-align:right;flex-direction:row-reverse}.label-emoji{font-size:18px}.slider-track-wrapper{position:relative;padding:10px 0}.slider-input{width:100%;height:8px;-webkit-appearance:none;appearance:none;background:#e5e7eb;border-radius:4px;outline:none}.slider-input::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:24px;height:24px;background:linear-gradient(135deg,#ff6b35,#f7c948);border-radius:50%;cursor:pointer;box-shadow:0 4px 12px #ff6b3566;transition:transform .2s ease}.slider-input::-webkit-slider-thumb:hover{transform:scale(1.1)}.slider-value-bubble{position:absolute;top:-30px;left:50%;transform:translate(-50%);background:#ff6b35;color:#fff;padding:4px 10px;border-radius:20px;font-size:14px;font-weight:600}.versus-container{display:flex;align-items:center;gap:16px}.versus-option{flex:1;background:#f9fafb;border:2px solid #e5e7eb;border-radius:16px;padding:24px;cursor:pointer;transition:all .3s ease;display:flex;flex-direction:column;align-items:center;gap:12px}.versus-option:hover{border-color:#ff6b35;transform:translateY(-2px);box-shadow:0 8px 20px #00000014}.versus-option.selected{border-color:#ff6b35;background:linear-gradient(145deg,#ff6b3514,#f7c9480d);box-shadow:0 0 30px #ff6b3526}.versus-emoji{font-size:48px}.versus-label{font-size:16px;font-weight:600;color:#1a1a2e}.versus-divider{display:flex;align-items:center;justify-content:center;width:50px;height:50px;background:linear-gradient(135deg,#ff6b35,#f7c948);border-radius:50%;font-weight:800;font-size:14px;color:#fff;flex-shrink:0}.visual-cards-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:16px}.visual-card{background:#f9fafb;border:2px solid #e5e7eb;border-radius:16px;padding:20px;cursor:pointer;transition:all .3s ease;display:flex;flex-direction:column;align-items:center;text-align:center;gap:10px;position:relative;overflow:hidden}.visual-card:hover{border-color:#ff6b35;transform:translateY(-4px);box-shadow:0 10px 30px #0000001a}.visual-card.selected{border-color:#ff6b35;background:linear-gradient(145deg,#ff6b351a,#f7c9480f)}.card-emoji{font-size:40px}.card-label{font-size:15px;font-weight:600;color:#1a1a2e}.card-description{font-size:12px;color:#6b7280;line-height:1.4}.card-check{position:absolute;top:10px;right:10px;width:24px;height:24px;background:#ff6b35;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff}.visual-choice-grid{display:flex;flex-direction:column;gap:12px}.visual-choice-btn{display:flex;align-items:center;gap:16px;background:#f9fafb;border:2px solid #e5e7eb;border-radius:12px;padding:16px 20px;cursor:pointer;transition:all .3s ease;text-align:left}.visual-choice-btn:hover{border-color:#ff6b35;transform:translate(4px);box-shadow:0 4px 12px #0000000f}.visual-choice-btn.selected{border-color:#ff6b35;background:linear-gradient(90deg,rgba(255,107,53,.08) 0%,transparent 100%)}.choice-emoji{font-size:32px;flex-shrink:0}.choice-content{flex:1}.choice-label{font-size:16px;font-weight:600;color:#1a1a2e;display:block}.choice-desc{font-size:13px;color:#6b7280;margin-top:4px;display:block}.multi-select-grid{display:flex;flex-wrap:wrap;gap:10px}.multi-select-chip{display:flex;align-items:center;gap:8px;background:#f9fafb;border:2px solid #e5e7eb;border-radius:30px;padding:10px 18px;cursor:pointer;transition:all .3s ease}.multi-select-chip:hover{border-color:#ff6b35;transform:scale(1.02)}.multi-select-chip.selected{border-color:#ff6b35;background:linear-gradient(135deg,#ff6b351f,#f7c94814)}.chip-emoji{font-size:18px}.chip-label{font-size:14px;font-weight:500;color:#1a1a2e}.ranking-container{display:flex;flex-direction:column;gap:16px}.ranking-hint{font-size:14px;color:#6b7280;margin:0}.ranking-selected{background:#f9fafb;border-radius:12px;padding:16px;min-height:60px;border:2px dashed #d1d5db}.ranking-placeholder{color:#9ca3af;text-align:center;padding:20px}.ranking-item{display:flex;align-items:center;gap:12px;background:linear-gradient(90deg,rgba(255,107,53,.08) 0%,transparent 100%);border-radius:10px;padding:12px;margin-bottom:8px;cursor:grab;transition:all .2s ease}.ranking-item:active{cursor:grabbing;transform:scale(1.02)}.ranking-item:last-child{margin-bottom:0}.ranking-number{width:24px;height:24px;background:#ff6b35;border-radius:6px;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:700;color:#fff}.ranking-emoji{font-size:20px}.ranking-label{flex:1;font-size:14px;font-weight:500;color:#1a1a2e}.ranking-remove{width:24px;height:24px;border-radius:50%;background:#e5e7eb;border:none;color:#6b7280;cursor:pointer;font-size:16px;display:flex;align-items:center;justify-content:center;transition:all .2s ease}.ranking-remove:hover{background:#ef4444;color:#fff}.ranking-options{display:flex;flex-wrap:wrap;gap:8px}.ranking-option{display:flex;align-items:center;gap:8px;background:#fff;border:1px solid #e5e7eb;border-radius:8px;padding:8px 14px;cursor:pointer;transition:all .2s ease}.ranking-option:hover:not(:disabled){border-color:#ff6b35;background:#f9fafb}.ranking-option:disabled{opacity:.4;cursor:not-allowed}.survey-select,.survey-text-input,.survey-number-input,.survey-textarea{width:100%;background:#fff;border:2px solid #e5e7eb;border-radius:12px;padding:14px 18px;color:#1a1a2e;font-size:16px;transition:all .3s ease}.survey-select:focus,.survey-text-input:focus,.survey-number-input:focus,.survey-textarea:focus{outline:none;border-color:#ff6b35;box-shadow:0 0 0 4px #ff6b351a}.survey-textarea{resize:vertical;min-height:100px}.survey-select::placeholder,.survey-text-input::placeholder,.survey-number-input::placeholder,.survey-textarea::placeholder{color:#9ca3af}.survey-message{padding:16px 24px;border-radius:12px;text-align:center;font-weight:500;margin:20px 0}.survey-message.success{background:linear-gradient(135deg,#22c55e1a,#10b9810d);color:#16a34a;border:1px solid #22C55E}.survey-message.error{background:#ef444414;color:#dc2626;border:1px solid #EF4444}.survey-navigation{display:flex;justify-content:space-between;gap:16px;margin-top:40px;padding-top:24px;border-top:1px solid #e5e7eb}.nav-btn{display:flex;align-items:center;gap:10px;padding:14px 28px;border-radius:12px;font-size:16px;font-weight:600;cursor:pointer;transition:all .3s ease}.nav-btn.prev{background:#fff;border:2px solid #e5e7eb;color:#4b5563}.nav-btn.prev:hover:not(:disabled){border-color:#ff6b35;color:#ff6b35}.nav-btn.prev:disabled{opacity:.3;cursor:not-allowed}.nav-btn.next{background:linear-gradient(135deg,#ff6b35,#f7c948);border:none;color:#fff}.nav-btn.next:hover{transform:translate(4px);box-shadow:0 8px 25px #ff6b354d}.nav-btn.save{background:linear-gradient(135deg,#22c55e,#10b981);border:none;color:#fff;flex:1;justify-content:center}.nav-btn.save:hover:not(:disabled){box-shadow:0 8px 25px #22c55e4d;transform:translateY(-2px)}.nav-btn.save:disabled{opacity:.7;cursor:not-allowed}.btn-spinner{width:20px;height:20px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin .8s linear infinite}.survey-footer{margin-top:30px;padding:20px;background:#f9fafb;border-radius:12px;border:1px solid #e5e7eb;display:flex;flex-direction:column;align-items:center;gap:16px}.footer-stats{display:flex;justify-content:center;gap:32px}.skip-btn{background:transparent;border:none;color:#6b7280;font-size:14px;font-weight:500;cursor:pointer;padding:8px 16px;border-radius:8px;transition:all .2s ease}.skip-btn:hover{color:#ff6b35;background:#ff6b3514}.stat{display:flex;align-items:center;gap:8px;color:#6b7280;font-size:14px}.stat svg{color:#ff6b35}.survey-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px}.loading-spinner{width:48px;height:48px;border:4px solid #e5e7eb;border-top-color:#ff6b35;border-radius:50%;animation:spin .8s linear infinite;margin-bottom:16px}.survey-loading p{color:#6b7280;font-size:16px}.survey-error{text-align:center;padding:60px}.error-icon{font-size:48px;display:block;margin-bottom:16px}.survey-error h3{color:#1a1a2e;margin-bottom:20px}@media(max-width:768px){.evergreen-survey-v2{padding:16px}.section-header-v2{flex-direction:column;text-align:center}.section-icon-wrapper{margin:0 auto}.section-header-content h2{font-size:24px}.question-content{margin-left:0;margin-top:16px}.question-hint{margin-left:0}.versus-container{flex-direction:column}.versus-divider{transform:rotate(90deg);margin:-10px 0}.visual-cards-grid{grid-template-columns:repeat(2,1fr)}.survey-navigation{flex-direction:column-reverse}.nav-btn{width:100%;justify-content:center}.footer-stats{flex-direction:column;align-items:center;gap:12px}}.preferences-page{min-height:100vh;background:var(--background);padding-bottom:var(--space-2xl)}.header-content{flex:1}.header-title-row{display:flex;justify-content:space-between;align-items:center;gap:var(--space-lg);margin-bottom:var(--space-sm);flex-wrap:wrap}.header-title-row h1{display:flex;align-items:center;gap:var(--space-md);color:var(--dark-blue);font-size:2rem;margin:0}.header-icon{color:var(--primary-blue);animation:iconPulse 2s ease-in-out infinite}@keyframes iconPulse{0%,to{transform:scale(1)}50%{transform:scale(1.08)}}.page-subtitle{color:var(--text-secondary);font-size:1rem;margin-bottom:var(--space-md)}.preferences-intro{background:linear-gradient(135deg,#e3f2fd,#f3e5f5);border-radius:var(--radius-lg);padding:var(--space-xl);margin-bottom:var(--space-xl);border:2px solid var(--primary-blue)}.intro-content{display:flex;align-items:flex-start;gap:var(--space-lg)}.intro-icon{width:56px;height:56px;background:linear-gradient(135deg,var(--primary-blue),var(--dark-blue));border-radius:var(--radius-lg);display:flex;align-items:center;justify-content:center;color:var(--white);flex-shrink:0}.intro-text h3{color:var(--dark-blue);margin-bottom:var(--space-sm);font-size:1.2rem}.intro-text p{color:var(--text-primary);line-height:1.6;margin:0}.survey-container{background:var(--white);border-radius:var(--radius-lg);box-shadow:0 2px 8px #0000000f;border:1px solid var(--border);overflow:hidden}.preferences-grid{display:grid;gap:var(--space-xl)}.preference-section{background:var(--white);padding:var(--space-xl);border-radius:var(--radius-lg);box-shadow:0 2px 8px #0000000f;border:1px solid var(--border)}.preference-section h2{display:flex;align-items:center;gap:var(--space-md);color:var(--dark-blue);margin-bottom:var(--space-md);font-size:1.4rem}.section-description{color:var(--text-secondary);margin-bottom:var(--space-lg)}.preference-item{display:flex;justify-content:space-between;align-items:center;padding:var(--space-lg);background:var(--background);border-radius:var(--radius-md);margin-bottom:var(--space-md);transition:all .2s ease}.preference-item:last-child{margin-bottom:0}.preference-item:hover{background:var(--off-white)}.preference-label{display:flex;align-items:center;gap:var(--space-md);font-weight:500;color:var(--text-primary);min-width:250px}.slider-container{display:flex;align-items:center;gap:var(--space-lg);flex:1;max-width:400px}.slider{flex:1;height:8px;border-radius:var(--radius-full);background:linear-gradient(to right,var(--light-gray) 0%,var(--primary-blue) 100%);outline:none;-webkit-appearance:none}.slider::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:24px;height:24px;border-radius:50%;background:var(--primary-blue);cursor:pointer;box-shadow:0 2px 8px #0003;transition:all .2s ease}.slider::-webkit-slider-thumb:hover{transform:scale(1.1);background:var(--dark-blue)}.slider::-moz-range-thumb{width:24px;height:24px;border-radius:50%;background:var(--primary-blue);cursor:pointer;border:none;box-shadow:0 2px 8px #0003;transition:all .2s ease}.slider::-moz-range-thumb:hover{transform:scale(1.1);background:var(--dark-blue)}.slider-value{min-width:30px;text-align:center;font-weight:600;color:var(--primary-blue);font-size:1.1rem}.preference-select{flex:1;max-width:400px;padding:var(--space-sm) var(--space-md);border:2px solid var(--border);border-radius:var(--radius-md);font-size:1rem;background:var(--white);cursor:pointer;transition:border-color .2s ease}.preference-select:focus{outline:none;border-color:var(--primary-blue)}.message{padding:var(--space-md) var(--space-lg);border-radius:var(--radius-md);margin-bottom:var(--space-lg);font-weight:500}.message.success{background:#e8f5e9;color:#2e7d32;border:1px solid #4caf50}.message.error{background:#ffebee;color:#c62828;border:1px solid #f44336}.info-section{background:linear-gradient(135deg,#e3f2fd,#f3e5f5);border:2px solid var(--primary-blue)}.info-content p{color:var(--text-primary);margin-bottom:var(--space-md);line-height:1.6}.info-content ul{margin:var(--space-lg) 0;padding-left:var(--space-xl)}.info-content li{margin-bottom:var(--space-md);color:var(--text-primary);line-height:1.6}.info-note{margin-top:var(--space-lg);padding:var(--space-md);background:#ffffffb3;border-left:4px solid var(--primary-orange);border-radius:var(--radius-md);font-style:italic}@media(max-width:768px){.header-title-row h1{font-size:1.5rem}.intro-content{flex-direction:column;text-align:center}.intro-icon{margin:0 auto}.preference-item{flex-direction:column;align-items:flex-start;gap:var(--space-md)}.preference-label{min-width:auto}.slider-container,.preference-select{width:100%;max-width:none}.preferences-intro{padding:var(--space-lg)}}@media(max-width:480px){.intro-text h3{font-size:1.1rem}}@media(prefers-reduced-motion:reduce){.header-icon,.slider::-webkit-slider-thumb,.slider::-moz-range-thumb,.preference-item{animation:none;transition:none}}.settings-page{min-height:100vh;background:var(--gray-50, #f9fafb)}.settings-container{max-width:1100px;margin:0 auto;padding:2rem 1.5rem 4rem}.settings-header{margin-bottom:2rem}.settings-header h1{font-size:1.75rem;font-weight:700;color:var(--gray-900, #111827);margin-bottom:.25rem}.settings-header p{color:var(--gray-500, #6b7280);font-size:.95rem}.settings-layout{display:grid;grid-template-columns:220px 1fr;gap:2rem}.settings-nav{display:flex;flex-direction:column;gap:.25rem}.settings-nav-item{display:flex;align-items:center;gap:.75rem;padding:.75rem 1rem;border:none;background:transparent;color:var(--gray-600, #4b5563);font-size:.95rem;font-weight:500;border-radius:8px;cursor:pointer;transition:all .15s ease;text-align:left}.settings-nav-item:hover{background:var(--gray-100, #f3f4f6);color:var(--gray-900, #111827)}.settings-nav-item.active{background:var(--primary-50, #eff6ff);color:var(--primary-600, #2563eb)}.settings-nav-item.active svg{color:var(--primary-600, #2563eb)}.settings-content{min-width:0}.settings-section{background:#fff;border-radius:12px;border:1px solid var(--gray-200, #e5e7eb);padding:1.5rem}.section-header{margin-bottom:1.5rem;padding-bottom:1rem;border-bottom:1px solid var(--gray-100, #f3f4f6)}.section-header h2{font-size:1.125rem;font-weight:600;color:var(--gray-900, #111827);margin-bottom:.25rem}.section-header p{color:var(--gray-500, #6b7280);font-size:.875rem}.settings-form{display:flex;flex-direction:column;gap:1.25rem}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.form-group{display:flex;flex-direction:column;gap:.5rem}.form-group label{display:flex;align-items:center;gap:.5rem;font-size:.875rem;font-weight:500;color:var(--gray-700, #374151)}.form-group label .optional{font-weight:400;color:var(--gray-400, #9ca3af);font-size:.8rem;margin-left:auto}.form-group input,.form-group select{padding:.75rem 1rem;border:1px solid var(--gray-300, #d1d5db);border-radius:8px;font-size:.95rem;color:var(--gray-900, #111827);background:#fff;transition:border-color .15s ease,box-shadow .15s ease}.form-group input:focus,.form-group select:focus{outline:none;border-color:var(--primary-500, #3b82f6);box-shadow:0 0 0 3px #3b82f61a}.form-group input::placeholder{color:var(--gray-400, #9ca3af)}.form-group input.input-disabled{background:var(--gray-50, #f9fafb);color:var(--gray-500, #6b7280);cursor:not-allowed}.form-hint{font-size:.8rem;color:var(--gray-400, #9ca3af)}.form-actions{display:flex;justify-content:flex-end;padding-top:1rem;margin-top:.5rem;border-top:1px solid var(--gray-100, #f3f4f6)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.625rem 1.25rem;font-size:.9rem;font-weight:500;border-radius:8px;cursor:pointer;transition:all .15s ease;border:none}.btn-primary{background:linear-gradient(135deg,#3b82f6,#2563eb);color:#fff}.btn-primary:hover:not(:disabled){background:linear-gradient(135deg,#2563eb,#1d4ed8);transform:translateY(-1px);box-shadow:0 4px 12px #2563eb4d}.btn-secondary{background:var(--gray-100, #f3f4f6);color:var(--gray-700, #374151)}.btn-secondary:hover:not(:disabled){background:var(--gray-200, #e5e7eb)}.btn-danger{background:linear-gradient(135deg,#ef4444,#dc2626);color:#fff}.btn-danger:hover:not(:disabled){background:linear-gradient(135deg,#dc2626,#b91c1c)}.btn-danger-outline{background:transparent;color:var(--red-600, #dc2626);border:1px solid var(--red-300, #fca5a5)}.btn-danger-outline:hover:not(:disabled){background:var(--red-50, #fef2f2);border-color:var(--red-400, #f87171)}.alert{display:flex;align-items:center;gap:.75rem;padding:.875rem 1rem;border-radius:8px;font-size:.9rem}.alert-error{background:var(--red-50, #fef2f2);color:var(--red-700, #b91c1c);border:1px solid var(--red-200, #fecaca)}.alert-success{background:var(--green-50, #f0fdf4);color:var(--green-700, #15803d);border:1px solid var(--green-200, #bbf7d0)}.account-info-card{display:flex;align-items:center;gap:1rem;padding:1.25rem;background:var(--gray-50, #f9fafb);border-radius:10px;margin-bottom:1.5rem}.account-avatar{width:56px;height:56px;border-radius:50%;background:linear-gradient(135deg,#3b82f6,#2563eb);display:flex;align-items:center;justify-content:center;color:#fff;flex-shrink:0}.account-details h3{font-size:1.1rem;font-weight:600;color:var(--gray-900, #111827);margin-bottom:.125rem}.account-details p{color:var(--gray-500, #6b7280);font-size:.9rem;margin-bottom:.5rem}.account-badge{display:inline-block;padding:.25rem .5rem;background:var(--primary-100, #dbeafe);color:var(--primary-700, #1d4ed8);font-size:.75rem;font-weight:500;border-radius:4px}.danger-zone{border:1px solid var(--red-200, #fecaca);border-radius:10px;overflow:hidden}.danger-header{display:flex;align-items:center;gap:.5rem;padding:.875rem 1rem;background:var(--red-50, #fef2f2);color:var(--red-700, #b91c1c);font-weight:600;font-size:.9rem}.danger-content{padding:1rem}.danger-item{display:flex;align-items:center;justify-content:space-between;gap:1rem}.danger-info h4{font-size:.95rem;font-weight:600;color:var(--gray-900, #111827);margin-bottom:.25rem}.danger-info p{font-size:.85rem;color:var(--gray-500, #6b7280)}.delete-modal-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem}.delete-modal .modal-content{background:#fff;border-radius:12px;max-width:440px;width:100%;box-shadow:0 25px 50px -12px #00000040}.delete-modal .modal-header{display:flex;align-items:center;gap:.75rem;padding:1.25rem 1.5rem;border-bottom:1px solid var(--gray-200, #e5e7eb)}.delete-modal .modal-header .warning-icon{color:var(--red-500, #ef4444)}.delete-modal .modal-header h3{font-size:1.125rem;font-weight:600;color:var(--gray-900, #111827)}.delete-modal .modal-body{padding:1.25rem 1.5rem}.delete-modal .warning-text{color:var(--gray-700, #374151);font-size:.95rem;margin-bottom:.75rem}.deletion-list{margin:0 0 1.25rem 1.25rem;color:var(--gray-600, #4b5563);font-size:.9rem;line-height:1.6}.deletion-list li{margin-bottom:.25rem}.confirm-input{margin-top:1rem}.confirm-input label{display:block;font-size:.9rem;color:var(--gray-700, #374151);margin-bottom:.5rem}.confirm-input input{width:100%;padding:.75rem 1rem;border:1px solid var(--gray-300, #d1d5db);border-radius:8px;font-size:.95rem}.confirm-input input:focus{outline:none;border-color:var(--red-400, #f87171);box-shadow:0 0 0 3px #ef44441a}.delete-modal .modal-footer{display:flex;justify-content:flex-end;gap:.75rem;padding:1rem 1.5rem;background:var(--gray-50, #f9fafb);border-top:1px solid var(--gray-200, #e5e7eb);border-radius:0 0 12px 12px}.spin{animation:spin 1s linear infinite}@media(max-width:768px){.settings-container{padding:1.5rem 1rem 3rem}.settings-layout{grid-template-columns:1fr;gap:1rem}.settings-nav{flex-direction:row;overflow-x:auto;padding-bottom:.5rem;gap:.5rem}.settings-nav-item{padding:.5rem 1rem;white-space:nowrap}.form-row{grid-template-columns:1fr}.danger-item{flex-direction:column;align-items:flex-start}.danger-item .btn{width:100%;margin-top:.75rem}.delete-modal .modal-footer{flex-direction:column-reverse}.delete-modal .modal-footer .btn{width:100%}}.place-search-modal{overflow:hidden}.place-search-header{display:flex;justify-content:space-between;align-items:center;padding:var(--space-lg) var(--space-xl);background:linear-gradient(135deg,var(--primary-orange),#ff6b35);color:var(--white)}.place-search-header h2{display:flex;align-items:center;gap:var(--space-sm);margin:0;font-size:1.35rem;color:var(--white)}.place-search-modal .modal-close{background:#fff3;border:none;color:var(--white);padding:var(--space-sm);border-radius:var(--radius);cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center}.place-search-modal .modal-close:hover{background:#ffffff59;transform:scale(1.05)}.place-search-input-wrapper{position:relative;padding:var(--space-lg) var(--space-xl);background:#fafafa;border-bottom:1px solid var(--light-gray)}.place-search-input-wrapper .search-icon{position:absolute;left:calc(var(--space-xl) + 14px);top:50%;transform:translateY(-50%);color:var(--gray);pointer-events:none}.place-search-input{width:100%;padding:14px 48px;border:2px solid var(--light-gray);border-radius:var(--radius-md);font-size:1rem;transition:all .2s ease;background:var(--white)}.place-search-input:focus{outline:none;border-color:var(--primary-orange);box-shadow:0 0 0 4px #ff8c4226}.place-search-input:disabled{background:var(--light-gray);cursor:not-allowed}.place-search-input::placeholder{color:var(--gray)}.search-spinner{position:absolute;right:calc(var(--space-xl) + 14px);top:50%;transform:translateY(-50%);color:var(--primary-orange);animation:spin 1s linear infinite}.search-clear{position:absolute;right:calc(var(--space-xl) + 14px);top:50%;transform:translateY(-50%);background:var(--light-gray);border:none;border-radius:50%;width:28px;height:28px;display:flex;align-items:center;justify-content:center;cursor:pointer;color:var(--gray);transition:all .2s ease}.search-clear:hover{background:var(--border);color:var(--dark-gray)}@keyframes spin{0%{transform:translateY(-50%) rotate(0)}to{transform:translateY(-50%) rotate(360deg)}}.place-search-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-md);padding:var(--space-2xl);color:var(--gray)}.place-search-loading .spinner{animation:spinCenter 1s linear infinite}@keyframes spinCenter{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.place-search-error{margin:0 var(--space-xl);padding:var(--space-md);background:#fef2f2;color:#dc2626;border-radius:var(--radius-md);font-size:.9rem;text-align:center;border:1px solid #fecaca}.place-search-results{max-height:320px;overflow-y:auto;border-bottom:1px solid var(--light-gray)}.place-result-item{display:flex;align-items:center;gap:var(--space-md);width:100%;padding:var(--space-md) var(--space-xl);background:none;border:none;border-bottom:1px solid var(--light-gray);cursor:pointer;text-align:left;transition:background .15s ease}.place-result-item:last-child{border-bottom:none}.place-result-item:hover:not(:disabled){background:#fff7ed}.place-result-item.already-added{opacity:.6;cursor:not-allowed}.place-result-icon{flex-shrink:0;width:40px;height:40px;border-radius:var(--radius);background:#fff7ed;color:var(--primary-orange);display:flex;align-items:center;justify-content:center}.place-result-info{flex:1;min-width:0}.place-result-name{display:block;font-weight:600;color:var(--dark-blue);font-size:.95rem;margin-bottom:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.place-result-secondary{display:block;color:var(--gray);font-size:.85rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.already-added-badge{flex-shrink:0;padding:4px 10px;background:var(--light-gray);color:var(--gray);border-radius:var(--radius-full);font-size:.75rem;font-weight:600;text-transform:uppercase}.place-preview-card{animation:fadeInUp .3s ease}@keyframes fadeInUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.place-preview-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-md);padding:var(--space-2xl);color:var(--gray)}.place-preview-loading .spinner{color:var(--primary-orange);animation:spinCenter 1s linear infinite}.place-preview-photo{width:100%;height:200px;position:relative;background:var(--light-gray);overflow:hidden}.place-preview-photo img{width:100%;height:100%;object-fit:cover}.place-preview-no-photo{width:100%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-sm);color:var(--gray);background:linear-gradient(135deg,#f3f4f6,#e5e7eb)}.place-preview-no-photo span{font-size:.85rem}.place-preview-info{padding:var(--space-lg) var(--space-xl)}.place-preview-info h3{color:var(--dark-blue);font-size:1.3rem;margin-bottom:var(--space-md);line-height:1.3}.place-preview-location{display:flex;align-items:center;gap:var(--space-sm);color:var(--gray);font-size:.95rem;margin-bottom:var(--space-sm)}.place-preview-location svg{flex-shrink:0;color:var(--primary-orange)}.place-preview-category{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;background:#fff7ed;color:var(--primary-orange);border-radius:var(--radius-full);font-size:.85rem;font-weight:500;text-transform:capitalize;margin-bottom:var(--space-md)}.place-preview-link{display:inline-flex;align-items:center;gap:6px;color:var(--primary-blue);font-size:.9rem;text-decoration:none;transition:color .2s ease}.place-preview-link:hover{color:var(--dark-blue);text-decoration:underline}.place-preview-actions{padding:var(--space-lg) var(--space-xl);background:#fafafa;border-top:1px solid var(--light-gray)}.add-to-bucket-btn{width:100%;justify-content:center;padding:14px 24px;font-size:1rem}.add-to-bucket-btn .spinner{animation:spinCenter 1s linear infinite}.add-to-bucket-btn.already-added{background:var(--light-gray);color:var(--gray);cursor:not-allowed;box-shadow:none}.place-search-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--space-2xl) var(--space-xl);text-align:center;color:var(--gray)}.place-search-empty>svg{color:var(--primary-orange);opacity:.3;margin-bottom:var(--space-lg)}.place-search-empty>h3{color:var(--dark-blue);font-size:1.15rem;margin-bottom:var(--space-sm)}.place-search-empty>p{font-size:.95rem;max-width:320px;line-height:1.5;margin:0}.place-search-no-results{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--space-2xl) var(--space-xl);text-align:center;color:var(--gray)}.place-search-no-results svg{opacity:.3;margin-bottom:var(--space-md)}.place-search-no-results p{color:var(--dark-gray);font-weight:500;margin-bottom:var(--space-xs)}.place-search-no-results span{font-size:.9rem}@media(max-width:640px){.place-search-modal-overlay{padding:0;align-items:flex-end}.place-search-modal{max-width:100%;border-radius:var(--radius-lg) var(--radius-lg) 0 0;max-height:90vh;display:flex;flex-direction:column}.place-search-results{flex:1;max-height:none}.place-search-header,.place-search-input-wrapper{padding:var(--space-md) var(--space-lg)}.place-search-input-wrapper .search-icon{left:calc(var(--space-lg) + 14px)}.place-result-item,.place-preview-info,.place-preview-actions{padding-left:var(--space-lg);padding-right:var(--space-lg)}.place-search-empty{padding:var(--space-lg)}}.edit-bucket-modal{overflow:hidden}.edit-bucket-header{display:flex;justify-content:space-between;align-items:center;padding:var(--space-lg) var(--space-xl);background:linear-gradient(135deg,var(--primary-orange),#ff6b35);color:var(--white)}.edit-bucket-header h2{margin:0;font-size:1.25rem;color:var(--white)}.edit-bucket-modal .modal-close{background:#fff3;border:none;color:var(--white);padding:var(--space-sm);border-radius:var(--radius);cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center}.edit-bucket-modal .modal-close:hover{background:#ffffff59;transform:scale(1.05)}.edit-bucket-preview{display:flex;gap:var(--space-md);padding:var(--space-lg) var(--space-xl);background:#fafafa;border-bottom:1px solid var(--light-gray)}.preview-photo{flex-shrink:0;width:100px;height:75px;border-radius:var(--radius-md);overflow:hidden;background:var(--light-gray)}.preview-photo img{width:100%;height:100%;object-fit:cover}.preview-info{flex:1;min-width:0}.preview-info h3{font-size:1.1rem;color:var(--dark-blue);margin-bottom:var(--space-sm);line-height:1.3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.preview-location{display:flex;align-items:center;gap:6px;color:var(--gray);font-size:.9rem;margin-bottom:var(--space-xs)}.preview-location svg{flex-shrink:0;color:var(--primary-orange)}.preview-category{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;background:#fff7ed;color:var(--primary-orange);border-radius:var(--radius-full);font-size:.8rem;font-weight:500;text-transform:capitalize}.edit-bucket-error{display:flex;align-items:center;gap:var(--space-sm);margin:var(--space-md) var(--space-xl) 0;padding:var(--space-md);background:#fef2f2;color:#dc2626;border-radius:var(--radius-md);font-size:.9rem;border:1px solid #fecaca}.edit-bucket-error svg{flex-shrink:0}.edit-bucket-body{padding:var(--space-xl)}.completion-toggle-section{margin-bottom:var(--space-xl)}.completion-toggle{display:flex;align-items:center;gap:var(--space-md);width:100%;padding:var(--space-md) var(--space-lg);background:var(--white);border:2px solid var(--light-gray);border-radius:var(--radius-md);cursor:pointer;transition:all .2s ease;font-size:1rem;font-weight:500;color:var(--dark-gray)}.completion-toggle:hover{border-color:var(--primary-orange);background:#fff7ed}.completion-toggle.completed{background:#f0fdf4;border-color:#22c55e;color:#16a34a}.completion-toggle.completed:hover{background:#dcfce7}.completion-toggle .check-icon{color:var(--border);transition:all .2s ease}.completion-toggle .check-icon.completed{color:#22c55e}.completion-hint{margin-top:var(--space-sm);font-size:.85rem;color:var(--gray);text-align:center}.edit-bucket-body .form-group{margin-bottom:var(--space-lg)}.edit-bucket-body label{display:block;margin-bottom:var(--space-sm);font-weight:600;color:var(--dark-blue);font-size:.95rem}.edit-bucket-body textarea{width:100%;padding:var(--space-md);border:2px solid var(--light-gray);border-radius:var(--radius-md);font-size:.95rem;line-height:1.6;resize:vertical;transition:all .2s ease;font-family:inherit;min-height:100px}.edit-bucket-body textarea:focus{outline:none;border-color:var(--primary-orange);box-shadow:0 0 0 4px #ff8c4226}.edit-bucket-body textarea::placeholder{color:var(--gray)}.field-hint{margin-top:var(--space-sm);font-size:.85rem;color:var(--gray)}.view-on-maps-link{display:inline-flex;align-items:center;gap:var(--space-sm);padding:var(--space-md) var(--space-lg);background:#eff6ff;color:var(--primary-blue);border-radius:var(--radius-md);text-decoration:none;font-weight:500;font-size:.95rem;transition:all .2s ease}.view-on-maps-link:hover{background:#dbeafe;transform:translate(4px)}.view-on-maps-link svg{flex-shrink:0}.edit-bucket-footer{display:flex;justify-content:space-between;align-items:center;padding:var(--space-lg) var(--space-xl);background:#fafafa;border-top:1px solid var(--light-gray);gap:var(--space-md)}.footer-actions{display:flex;gap:var(--space-md)}.btn-danger-outline{background:transparent;border:2px solid #dc2626;color:#dc2626;padding:10px 16px}.btn-danger-outline:hover:not(:disabled){background:#dc2626;color:var(--white)}.btn-danger{background:linear-gradient(135deg,#ef4444,#dc2626);color:var(--white);border:none;box-shadow:0 4px 12px #dc26264d}.btn-danger:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 16px #dc262666}.delete-confirm{display:flex;flex-direction:column;gap:var(--space-md);width:100%}.delete-confirm-message{display:flex;align-items:flex-start;gap:var(--space-sm);padding:var(--space-md);background:#fef2f2;border-radius:var(--radius-md);color:#991b1b;font-size:.9rem;line-height:1.5}.delete-confirm-message svg{flex-shrink:0;color:#dc2626;margin-top:2px}.delete-confirm-actions{display:flex;justify-content:flex-end;gap:var(--space-md)}.spinner-icon{animation:spin 1s linear infinite}@media(max-width:640px){.edit-bucket-modal-overlay{padding:0;align-items:flex-end}.edit-bucket-modal{max-width:100%;border-radius:var(--radius-lg) var(--radius-lg) 0 0;max-height:90vh;display:flex;flex-direction:column}.edit-bucket-preview{padding:var(--space-md) var(--space-lg)}.preview-photo{width:80px;height:60px}.edit-bucket-body{padding:var(--space-lg);flex:1;overflow-y:auto}.edit-bucket-footer{flex-direction:column;padding:var(--space-md) var(--space-lg)}.edit-bucket-footer .delete-btn{width:100%;justify-content:center}.footer-actions{width:100%;flex-direction:column}.footer-actions .btn{width:100%;justify-content:center}.delete-confirm-actions{flex-direction:column}.delete-confirm-actions .btn{width:100%;justify-content:center}}.bucket-list-page{min-height:100vh;background:var(--background);padding-bottom:var(--space-2xl)}.page-header{padding-top:var(--space-xl);margin-bottom:var(--space-xl)}.header-top-row{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--space-xl)}.header-left{flex:1;min-width:0}.header-left h1{display:flex;align-items:center;gap:var(--space-md);color:var(--dark-blue);font-size:2rem;margin:0 0 var(--space-xs) 0}.header-icon{color:var(--primary-orange);flex-shrink:0}.page-subtitle{color:var(--text-secondary);font-size:1rem;margin:var(--space-md) 0 0 0;line-height:1.5}.header-right{display:flex;align-items:center;gap:var(--space-lg);flex-shrink:0}.page-stats{display:flex;align-items:center;gap:var(--space-md)}.page-stats .stat{display:flex;align-items:center;justify-content:center;gap:6px;font-size:.875rem;font-weight:500;padding:0 var(--space-lg);border-radius:var(--radius-md);background:var(--off-white);height:56px;box-sizing:border-box}.page-stats .pending-stat{color:var(--text-secondary)}.page-stats .completed-stat{color:#2e7d32;background:#e8f5e9}.add-btn{flex-shrink:0;height:56px;padding:var(--space-md) var(--space-lg);box-sizing:border-box}.search-filters-section{background:var(--white);border-radius:var(--radius-lg);padding:var(--space-lg);margin-bottom:var(--space-xl);box-shadow:0 2px 8px #0000000a;border:1px solid var(--border)}.search-bar{display:flex;align-items:center;gap:var(--space-md);background:var(--background);border:2px solid var(--border);border-radius:var(--radius-md);padding:var(--space-sm) var(--space-md);transition:all .2s ease}.search-bar:focus-within{border-color:var(--primary-blue);box-shadow:0 0 0 3px #2563eb1a}.search-icon{color:var(--gray);flex-shrink:0}.search-input{flex:1;border:none;background:transparent;font-size:1rem;color:var(--text-primary);padding:var(--space-xs) 0}.search-input:focus{outline:none}.search-input::placeholder{color:var(--gray)}.search-clear{display:flex;align-items:center;justify-content:center;width:28px;height:28px;background:var(--light-gray);border:none;border-radius:50%;color:var(--gray);cursor:pointer;transition:all .2s ease}.search-clear:hover{background:var(--gray);color:var(--white)}.filter-controls{display:flex;align-items:center;gap:var(--space-md);margin-top:var(--space-md)}.filter-toggle-btn{display:flex;align-items:center;gap:var(--space-sm);padding:var(--space-sm) var(--space-md);background:var(--off-white);border:2px solid var(--border);border-radius:var(--radius-md);color:var(--text-secondary);font-weight:500;cursor:pointer;transition:all .2s ease;position:relative}.filter-toggle-btn:hover{border-color:var(--primary-blue);color:var(--primary-blue)}.filter-toggle-btn.active{background:var(--primary-blue);border-color:var(--primary-blue);color:var(--white)}.filter-badge{position:absolute;top:-4px;right:-4px;width:10px;height:10px;background:var(--primary-orange);border-radius:50%;border:2px solid var(--white)}.clear-filters-btn{padding:var(--space-sm) var(--space-md);background:transparent;border:none;color:var(--primary-orange);font-weight:500;cursor:pointer;transition:all .2s ease}.clear-filters-btn:hover{text-decoration:underline}.expanded-filters{margin-top:var(--space-lg);padding-top:var(--space-lg);border-top:1px solid var(--border);display:flex;flex-direction:column;gap:var(--space-lg)}.filter-group label{display:block;font-size:.85rem;font-weight:600;color:var(--text-secondary);margin-bottom:var(--space-sm);text-transform:uppercase;letter-spacing:.5px}.filter-options{display:flex;flex-wrap:wrap;gap:var(--space-sm)}.filter-btn{display:flex;align-items:center;gap:6px;padding:var(--space-sm) var(--space-md);border:none;background:var(--background);color:var(--text-secondary);border-radius:var(--radius);cursor:pointer;font-weight:500;font-size:.9rem;transition:all .2s ease}.filter-btn:hover{background:var(--white);color:var(--primary-blue);box-shadow:0 2px 4px #00000014}.filter-btn.active{background:var(--primary-blue);color:var(--white)}.capitalize{text-transform:capitalize}.results-info{font-size:.9rem;color:var(--text-secondary);margin-bottom:var(--space-lg);padding:var(--space-sm) var(--space-md);background:var(--off-white);border-radius:var(--radius);display:inline-block}.bucket-list-sections{display:flex;flex-direction:column;gap:var(--space-2xl)}.bucket-list-grid{display:flex;flex-direction:column;gap:var(--space-lg)}.been-there-section{margin-top:var(--space-lg)}.been-there-header{display:flex;align-items:center;gap:var(--space-md);margin-bottom:var(--space-lg);padding-bottom:var(--space-md);border-bottom:2px solid var(--border)}.been-there-header svg{color:#2e7d32}.been-there-header h2{font-size:1.25rem;font-weight:600;color:var(--dark-blue);margin:0}.been-there-count{display:inline-flex;align-items:center;justify-content:center;min-width:28px;height:28px;padding:0 10px;background:linear-gradient(135deg,#e8f5e9,#c8e6c9);color:#2e7d32;border-radius:var(--radius-full);font-size:.85rem;font-weight:600}.bucket-card{display:flex;background:var(--white);border-radius:var(--radius-lg);box-shadow:0 2px 8px #0000000f,0 1px 3px #00000014;border:2px solid transparent;overflow:hidden;transition:all .3s cubic-bezier(.4,0,.2,1);position:relative}.bucket-card:before{content:"";position:absolute;inset:0;border-radius:var(--radius-lg);padding:2px;background:linear-gradient(135deg,transparent,transparent);-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask-composite:exclude;opacity:0;transition:opacity .3s ease;pointer-events:none}.bucket-card:hover{box-shadow:0 12px 32px #0000001f,0 4px 12px #00000014;transform:translateY(-4px);border-color:var(--primary-blue)}.bucket-card:hover:before{background:linear-gradient(135deg,var(--primary-orange),var(--primary-blue));opacity:1}.bucket-card.clickable{cursor:pointer}.bucket-card.clickable:focus{outline:2px solid var(--primary-blue);outline-offset:2px}.bucket-card.clickable:active{transform:translateY(-2px)}.bucket-card-photo{position:relative;width:220px;min-width:220px;aspect-ratio:4 / 3;background:linear-gradient(135deg,#e8ecf4,#d4dae6);flex-shrink:0;overflow:hidden}.bucket-card-photo:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent 0%,rgba(255,255,255,.4) 50%,transparent 100%);transform:translate(-100%);animation:shimmer 1.5s infinite;pointer-events:none;z-index:1}.bucket-card-photo img{width:100%;height:100%;object-fit:cover;transition:transform .5s cubic-bezier(.4,0,.2,1),filter .4s ease,opacity .4s ease}.bucket-card-photo img+.bucket-card-no-photo{display:none}.bucket-card:hover .bucket-card-photo img{transform:scale(1.08)}.bucket-card-photo:after{content:"";position:absolute;bottom:0;left:0;right:0;height:60%;background:linear-gradient(to top,rgba(0,0,0,.35) 0%,rgba(0,0,0,.1) 40%,transparent 100%);pointer-events:none;z-index:1;opacity:.8;transition:opacity .3s ease}.bucket-card:hover .bucket-card-photo:after{opacity:1}@keyframes shimmer{0%{transform:translate(-100%)}to{transform:translate(100%)}}.bucket-card-no-photo{width:100%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;color:var(--gray);background:linear-gradient(135deg,#f0f4f8,#e2e8f0)}.bucket-card-no-photo svg{opacity:.5}.toggle-complete-btn{position:absolute;bottom:var(--space-sm);left:var(--space-sm);background:#fffffff2;border:none;border-radius:50%;width:40px;height:40px;display:flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:0 2px 12px #0003;transition:all .25s cubic-bezier(.4,0,.2,1);z-index:3;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.toggle-complete-btn:hover{transform:scale(1.15);box-shadow:0 4px 16px #00000040;background:var(--white)}.toggle-complete-btn:active{transform:scale(.95)}.toggle-complete-btn .check-icon{color:var(--border);transition:all .2s ease}.toggle-complete-btn:hover .check-icon{color:var(--gray)}.toggle-complete-btn .check-icon.completed{color:#4caf50}.toggle-complete-btn:hover .check-icon.completed{color:#388e3c}.bucket-card-content{flex:1;padding:var(--space-md) var(--space-lg);display:flex;flex-direction:column;min-width:0}.bucket-card-header{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--space-sm);margin-bottom:var(--space-xs)}.bucket-card-title{font-size:1.15rem;font-weight:600;color:var(--dark-blue);line-height:1.35;margin:0;transition:color .2s ease;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.bucket-card:hover .bucket-card-title{color:var(--primary-blue)}.edit-btn{background:none;border:none;color:var(--text-secondary);cursor:pointer;padding:6px;display:flex;align-items:center;justify-content:center;transition:all .2s ease;border-radius:var(--radius);flex-shrink:0;opacity:.6}.bucket-card:hover .edit-btn{opacity:1}.edit-btn:hover{color:var(--primary-orange);background:#fff7ed;transform:scale(1.1)}.bucket-card-location{display:flex;align-items:center;gap:4px;color:var(--text-secondary);font-size:.875rem;margin-bottom:var(--space-sm)}.bucket-card-location svg{flex-shrink:0;color:var(--primary-orange);opacity:.7}.bucket-card-footer{display:flex;align-items:center;gap:var(--space-md);margin-top:auto}.category-tag{display:inline-flex;align-items:center;gap:5px;padding:5px 12px;border-radius:var(--radius-full);font-size:.75rem;font-weight:600;text-transform:capitalize;background:var(--light-gray);color:var(--text-secondary);transition:all .2s ease}.category-tag.destination{background:linear-gradient(135deg,#e3f2fd,#bbdefb);color:#1565c0}.category-tag.restaurant{background:linear-gradient(135deg,#fce4ec,#f8bbd0);color:#c2185b}.category-tag.activity{background:linear-gradient(135deg,#e8f5e9,#c8e6c9);color:#2e7d32}.category-tag.landmark{background:linear-gradient(135deg,#fff3e0,#ffe0b2);color:#e65100}.category-tag.hotel{background:linear-gradient(135deg,#f3e5f5,#e1bee7);color:#7b1fa2}.maps-link{display:flex;align-items:center;justify-content:center;color:var(--primary-blue);padding:6px;border-radius:var(--radius);transition:all .2s ease;opacity:.7}.bucket-card:hover .maps-link{opacity:1}.maps-link:hover{background:#e3f2fd;color:var(--dark-blue);transform:scale(1.1)}.bucket-card-notes{font-size:.85rem;color:var(--text-secondary);line-height:1.5;margin-top:var(--space-sm);font-style:italic;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.completed-date{display:inline-flex;align-items:center;gap:4px;font-size:.75rem;color:#2e7d32;margin-top:var(--space-sm);padding:4px 10px;background:linear-gradient(135deg,#e8f5e9,#c8e6c9);border-radius:var(--radius-full);width:fit-content;font-weight:500}.bucket-card.completed{background:#fafafa;box-shadow:0 1px 4px #0000000a}.bucket-card.completed:before{display:none}.bucket-card.completed:hover{box-shadow:0 4px 12px #0000000f;transform:translateY(-2px);border-color:var(--border)}.bucket-card.completed .bucket-card-photo img{filter:grayscale(100%) contrast(.95);opacity:.6}.bucket-card.completed:hover .bucket-card-photo img{filter:grayscale(80%) contrast(.95);opacity:.7;transform:scale(1.03)}.bucket-card.completed .bucket-card-photo:after{background:linear-gradient(to top,rgba(0,0,0,.15) 0%,transparent 50%)}.bucket-card.completed .bucket-card-title{text-decoration:line-through;color:var(--text-secondary)}.bucket-card.completed:hover .bucket-card-title{color:var(--text-secondary)}.bucket-card.completed .category-tag{filter:grayscale(30%);opacity:.8}.empty-state{text-align:center;padding:var(--space-2xl) var(--space-lg);max-width:500px;margin:0 auto}.empty-state h2{color:var(--dark-blue);margin-bottom:var(--space-md)}.empty-state p{color:var(--text-secondary);line-height:1.6}.empty-icon{color:var(--primary-orange);opacity:.3;margin-bottom:var(--space-lg);animation:floatIcon 3s ease-in-out infinite}@keyframes floatIcon{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}.feature-note{margin-top:var(--space-lg);padding:var(--space-md);background:linear-gradient(135deg,#e3f2fd,#bbdefb);border-left:4px solid var(--primary-blue);border-radius:var(--radius-md);color:var(--text-primary);text-align:left}.feature-info-card{background:linear-gradient(135deg,#fff8e1,#ffe0b2);padding:var(--space-xl);border-radius:var(--radius-lg);border:2px solid rgba(255,152,0,.3);margin-top:var(--space-xl);position:relative;overflow:hidden}.feature-info-card:before{content:"";position:absolute;top:-50%;right:-50%;width:100%;height:100%;background:radial-gradient(circle,rgba(255,255,255,.3) 0%,transparent 70%);pointer-events:none}.feature-info-card h3{display:flex;align-items:center;gap:var(--space-md);color:var(--dark-blue);margin-bottom:var(--space-lg);position:relative}.feature-info-card h3 svg{color:var(--primary-orange)}.feature-info-card ul{list-style:none;padding:0;margin-bottom:var(--space-lg);position:relative}.feature-info-card li{padding:var(--space-md);margin-bottom:var(--space-md);background:#ffffffbf;border-radius:var(--radius-md);line-height:1.6;transition:all .2s ease;border-left:3px solid transparent}.feature-info-card li:hover{background:#ffffffe6;border-left-color:var(--primary-orange);transform:translate(4px)}.feature-info-card li strong{color:var(--dark-blue)}.implementation-note{padding:var(--space-md);background:#ff98001a;border-left:4px solid var(--primary-orange);border-radius:var(--radius-md);font-style:italic;color:var(--text-primary);position:relative}.loading-container{display:flex;justify-content:center;align-items:center;min-height:400px}@media(max-width:768px){.header-top-row{flex-direction:column;gap:var(--space-md)}.header-left h1{font-size:1.5rem}.header-right{width:100%;flex-direction:column;align-items:stretch;gap:var(--space-md)}.page-stats{justify-content:flex-start}.add-btn{width:100%;justify-content:center}.search-filters-section{padding:var(--space-md)}.filter-options{flex-direction:column}.filter-btn{width:100%;justify-content:center}.bucket-card{flex-direction:column}.bucket-card-photo{width:100%;min-width:unset;height:200px;aspect-ratio:unset}.bucket-card-content{padding:var(--space-md)}.bucket-card:hover{transform:translateY(-2px)}.toggle-complete-btn{width:44px;height:44px;bottom:var(--space-md);left:var(--space-md)}}@media(max-width:480px){.page-stats{flex-wrap:wrap;gap:var(--space-sm)}.bucket-card-photo{height:180px}.feature-info-card{padding:var(--space-lg)}.bucket-card-title{font-size:1.05rem}}@media(prefers-contrast:high){.bucket-card{border:2px solid var(--border)}.bucket-card.completed{border-style:dashed}.category-tag{border:1px solid currentColor}}@media(prefers-reduced-motion:reduce){.bucket-card,.bucket-card-photo img,.toggle-complete-btn,.header-icon,.empty-icon{animation:none;transition:none}.bucket-card-photo:before{animation:none}}.coming-soon-page{min-height:100vh;background:var(--background)}.coming-soon-container{display:flex;align-items:center;justify-content:center;min-height:calc(100vh - 80px);padding:var(--space-xl)}.coming-soon-content{text-align:center;max-width:480px}.coming-soon-icon{width:120px;height:120px;margin:0 auto var(--space-xl);background:linear-gradient(135deg,#2563eb1a,#2563eb0d);border-radius:50%;display:flex;align-items:center;justify-content:center;color:var(--primary-blue);animation:iconFloat 3s ease-in-out infinite}@keyframes iconFloat{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.coming-soon-content h1{font-size:2.5rem;color:var(--dark-blue);margin-bottom:var(--space-md)}.coming-soon-badge{display:inline-block;padding:var(--space-sm) var(--space-xl);background:linear-gradient(135deg,var(--primary-orange),#E65100);color:#fff;font-weight:600;font-size:.9rem;border-radius:var(--radius-full);margin-bottom:var(--space-xl);text-transform:uppercase;letter-spacing:.05em}.coming-soon-content p{color:var(--text-secondary);font-size:1.1rem;line-height:1.7}@media(max-width:768px){.coming-soon-content h1{font-size:2rem}.coming-soon-icon{width:100px;height:100px}.coming-soon-icon svg{width:48px;height:48px}}@media(prefers-reduced-motion:reduce){.coming-soon-icon{animation:none}}.activity-search{min-height:100vh;background:var(--background);padding-bottom:var(--space-2xl)}.search-header{padding:var(--space-xl) var(--space-2xl);background:linear-gradient(135deg,var(--white) 0%,rgba(255,140,66,.08) 100%);border-radius:var(--radius-lg);margin-bottom:var(--space-lg);box-shadow:var(--shadow);border:1px solid rgba(255,140,66,.1)}.search-header-content{display:flex;flex-direction:column;gap:var(--space-xs)}.search-title{display:flex;align-items:center;gap:var(--space-md);font-size:1.75rem;font-weight:700;color:var(--dark-blue);margin:0}.search-title-icon{color:var(--primary-orange)}.search-subtitle{font-size:1.1rem;color:var(--gray);margin:0}.search-form{background:var(--white);border-radius:var(--radius-lg);padding:var(--space-xl);box-shadow:var(--shadow);border:1px solid var(--light-gray);margin-bottom:var(--space-lg)}.search-form-main{display:grid;grid-template-columns:1.5fr 1.5fr 1fr auto;gap:var(--space-lg);align-items:flex-end}.form-group{display:flex;flex-direction:column;gap:var(--space-xs)}.form-group label{display:flex;align-items:center;gap:var(--space-xs);font-size:.85rem;font-weight:600;color:var(--dark-gray);text-transform:uppercase;letter-spacing:.5px}.form-group label svg{color:var(--primary-blue)}.form-group input:focus,.form-group select:focus{outline:none;border-color:var(--primary-orange);box-shadow:0 0 0 3px #ff8c4226}.form-group input::placeholder{color:var(--gray)}.date-inputs{display:flex;align-items:center;gap:var(--space-sm)}.date-inputs input{flex:1}.date-separator{color:var(--gray);font-size:.9rem}.travelers-inputs{display:flex;gap:var(--space-md)}.traveler-field{display:flex;flex-direction:column;gap:4px;flex:1}.traveler-field span{font-size:.75rem;color:var(--gray)}.traveler-field input{width:100%;text-align:center}.btn-search{display:flex;align-items:center;justify-content:center;gap:var(--space-sm);padding:var(--space-md) var(--space-xl);background:linear-gradient(135deg,var(--primary-orange),#f57c00);color:var(--white);border:none;border-radius:var(--radius-md);font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 14px #ff8c4259;min-height:50px;white-space:nowrap}.btn-search:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 20px #ff8c4273}.btn-search:disabled{opacity:.7;cursor:not-allowed;transform:none}.btn-search .spin{animation:spin 1s linear infinite}.btn-filter-toggle{display:flex;align-items:center;gap:var(--space-sm);padding:var(--space-sm) var(--space-md);background:transparent;border:1px solid var(--border);border-radius:var(--radius-md);font-size:.9rem;font-weight:500;color:var(--dark-gray);cursor:pointer;transition:all .2s ease;margin-top:var(--space-md)}.btn-filter-toggle:hover{background:var(--off-white);border-color:var(--primary-orange);color:var(--primary-orange)}.btn-filter-toggle.active{background:#ff8c421a;border-color:var(--primary-orange);color:var(--primary-orange)}.btn-filter-toggle svg.rotate{transform:rotate(180deg)}.btn-filter-toggle svg{transition:transform .2s ease}.search-form-filters{display:grid;grid-template-columns:1fr 1fr auto;gap:var(--space-lg);align-items:flex-end;padding-top:var(--space-lg);margin-top:var(--space-lg);border-top:1px solid var(--light-gray)}.price-inputs{display:flex;align-items:center;gap:var(--space-sm)}.price-inputs input{flex:1;max-width:120px}.price-separator{color:var(--gray)}.btn-clear-filters{display:flex;align-items:center;gap:var(--space-xs);padding:var(--space-md);background:transparent;border:1px solid var(--border);border-radius:var(--radius-md);font-size:.9rem;font-weight:500;color:var(--gray);cursor:pointer;transition:all .2s ease}.btn-clear-filters:hover{background:#dc35451a;border-color:var(--danger);color:var(--danger)}.error-message{display:flex;align-items:center;gap:var(--space-md);padding:var(--space-md) var(--space-lg);background:#dc35451a;border:1px solid rgba(220,53,69,.3);border-radius:var(--radius-md);color:var(--danger);margin-bottom:var(--space-lg)}.error-message span{flex:1}.error-message button{display:flex;align-items:center;justify-content:center;padding:var(--space-xs);background:transparent;border:none;color:var(--danger);cursor:pointer;border-radius:var(--radius-sm);transition:background .2s ease}.error-message button:hover{background:#dc354533}.results-section{min-height:400px}.results-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-lg)}.results-location{display:flex;align-items:center;gap:var(--space-xs);color:var(--gray);font-size:.95rem}.results-location svg{color:var(--primary-orange)}.loading-spinner{display:flex;align-items:center;justify-content:center;width:80px;height:80px;background:linear-gradient(135deg,#ff8c421a,#2563eb1a);border-radius:50%;margin-bottom:var(--space-lg)}.spinner-icon{color:var(--primary-orange);animation:spin 2s linear infinite}.activities-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-lg)}.activity-card{background:var(--white);border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow);border:1px solid var(--light-gray);transition:all .3s ease;display:flex;flex-direction:column}.activity-card:hover{transform:translateY(-6px);box-shadow:var(--shadow-xl);border-color:var(--primary-orange)}.activity-image{position:relative;height:200px;overflow:hidden;background:var(--light-gray)}.activity-image img{width:100%;height:100%;object-fit:cover;transition:transform .3s ease}.activity-card:hover .activity-image img{transform:scale(1.05)}.image-placeholder{display:flex;align-items:center;justify-content:center;width:100%;height:100%;background:linear-gradient(135deg,var(--light-gray),var(--off-white));color:var(--gray)}.image-placeholder.large{height:300px}.activity-category-badge{position:absolute;top:var(--space-sm);left:var(--space-sm);padding:4px 10px;background:#000000b3;color:var(--white);font-size:.75rem;font-weight:600;border-radius:var(--radius-full);text-transform:uppercase;letter-spacing:.5px}.activity-content{padding:var(--space-lg);display:flex;flex-direction:column;gap:var(--space-sm);flex:1}.activity-title{font-size:1.1rem;font-weight:600;color:var(--dark-blue);margin:0;line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.activity-rating{display:flex;align-items:center;gap:var(--space-xs);flex-wrap:wrap}.stars{display:flex;gap:2px}.star-filled{color:#fbbf24;fill:#fbbf24}.star-half{color:#fbbf24;fill:url(#half-gradient)}.star-empty{color:var(--light-gray)}.rating-value{font-weight:600;color:var(--dark-blue);font-size:.9rem}.review-count{color:var(--gray);font-size:.85rem}.activity-duration{display:flex;align-items:center;gap:var(--space-xs);color:var(--gray);font-size:.9rem}.activity-duration svg{color:var(--primary-blue)}.activity-highlights{display:flex;flex-wrap:wrap;gap:var(--space-xs);margin-top:var(--space-xs)}.highlight-tag{padding:4px 10px;background:#2563eb1a;color:var(--primary-blue);font-size:.75rem;font-weight:500;border-radius:var(--radius-full)}.activity-footer{display:flex;justify-content:space-between;align-items:flex-end;margin-top:auto;padding-top:var(--space-md);border-top:1px solid var(--light-gray)}.activity-price{display:flex;flex-direction:column;gap:2px}.price-label{font-size:.75rem;color:var(--gray);text-transform:uppercase}.price-value{font-size:1.25rem;font-weight:700;color:var(--dark-blue)}.price-per{font-size:.75rem;color:var(--gray)}.activity-actions{display:flex;flex-direction:column;gap:var(--space-xs)}.btn-view-details{padding:var(--space-xs) var(--space-md);background:transparent;border:1px solid var(--border);border-radius:var(--radius-md);font-size:.85rem;font-weight:500;color:var(--dark-gray);cursor:pointer;transition:all .2s ease}.btn-view-details:hover{background:var(--off-white);border-color:var(--primary-blue);color:var(--primary-blue)}.btn-book{padding:var(--space-xs) var(--space-md);background:linear-gradient(135deg,var(--primary-orange),#f57c00);border:none;border-radius:var(--radius-md);font-size:.85rem;font-weight:600;color:var(--white);cursor:pointer;transition:all .2s ease}.btn-book:hover{transform:translateY(-1px);box-shadow:0 4px 12px #ff8c4259}.empty-results{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--space-2xl);background:var(--white);border-radius:var(--radius-lg);border:2px dashed var(--border);text-align:center;min-height:300px}.empty-illustration{display:flex;align-items:center;justify-content:center;width:100px;height:100px;background:linear-gradient(135deg,#ff8c421a,#2563eb1a);border-radius:50%;margin-bottom:var(--space-lg);color:var(--gray)}.empty-results h3{color:var(--dark-blue);font-size:1.4rem;margin:0 0 var(--space-sm)}.empty-results p{color:var(--gray);font-size:1rem;max-width:360px;margin:0;line-height:1.6}.search-prompt{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--space-2xl);background:var(--white);border-radius:var(--radius-lg);border:1px solid var(--light-gray);text-align:center;min-height:350px}.prompt-illustration{display:flex;align-items:center;justify-content:center;width:120px;height:120px;background:linear-gradient(135deg,#ff8c4226,#2563eb1a);border-radius:50%;margin-bottom:var(--space-lg);color:var(--primary-orange);animation:pulse 3s ease-in-out infinite}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}.search-prompt h3{color:var(--dark-blue);font-size:1.5rem;margin:0 0 var(--space-sm)}.search-prompt p{color:var(--gray);font-size:1rem;max-width:400px;margin:0 0 var(--space-xl);line-height:1.6}.popular-destinations{display:flex;align-items:center;gap:var(--space-sm);flex-wrap:wrap;justify-content:center}.popular-label{color:var(--gray);font-size:.9rem;font-weight:500}.popular-city{padding:var(--space-xs) var(--space-md);background:var(--off-white);border:1px solid var(--border);border-radius:var(--radius-full);font-size:.9rem;font-weight:500;color:var(--dark-gray);cursor:pointer;transition:all .2s ease}.popular-city:hover{background:#ff8c421a;border-color:var(--primary-orange);color:var(--primary-orange)}.modal-overlay{position:fixed;inset:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:1000;padding:var(--space-lg);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);overflow-y:auto}.activity-detail-modal{position:relative;background:var(--white);border-radius:var(--radius-lg);max-width:700px;width:100%;max-height:90vh;overflow-y:auto;box-shadow:var(--shadow-xl)}.modal-close{position:absolute;top:var(--space-md);right:var(--space-md);display:flex;align-items:center;justify-content:center;width:40px;height:40px;background:#ffffffe6;border:none;border-radius:50%;color:var(--dark-gray);cursor:pointer;transition:all .2s ease;z-index:10}.modal-close:hover{background:var(--white);color:var(--dark-blue);box-shadow:var(--shadow)}.modal-image{height:300px;overflow:hidden;background:var(--light-gray)}.modal-image img{width:100%;height:100%;object-fit:cover}.activity-search-page .modal-content{padding:var(--space-xl)}.modal-header{margin-bottom:var(--space-lg)}.modal-category{display:inline-block;padding:4px 12px;background:#ff8c4226;color:var(--primary-orange);font-size:.75rem;font-weight:600;border-radius:var(--radius-full);text-transform:uppercase;letter-spacing:.5px;margin-bottom:var(--space-sm)}.modal-title{font-size:1.5rem;font-weight:700;color:var(--dark-blue);margin:0 0 var(--space-sm);line-height:1.3}.modal-rating{display:flex;align-items:center;gap:var(--space-sm)}.modal-section{margin-bottom:var(--space-lg)}.modal-section h4{font-size:1rem;font-weight:600;color:var(--dark-blue);margin:0 0 var(--space-sm)}.modal-section p{color:var(--gray);line-height:1.6;margin:0}.modal-section.cancellation{padding:var(--space-md);background:#28a7451a;border-radius:var(--radius-md)}.modal-section.cancellation h4{color:var(--success)}.modal-section.cancellation p{color:var(--dark-gray)}.modal-details-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-md);margin-bottom:var(--space-lg)}.detail-item{display:flex;align-items:flex-start;gap:var(--space-sm);padding:var(--space-md);background:var(--off-white);border-radius:var(--radius-md)}.detail-item svg{color:var(--primary-blue);flex-shrink:0;margin-top:2px}.detail-item>div{display:flex;flex-direction:column;gap:2px}.detail-label{font-size:.75rem;color:var(--gray);text-transform:uppercase;letter-spacing:.5px}.detail-value{font-size:.95rem;font-weight:500;color:var(--dark-blue)}.highlights-list{margin:0;padding-left:var(--space-lg);color:var(--dark-gray)}.highlights-list li{margin-bottom:var(--space-xs);line-height:1.5}.modal-footer{display:flex;justify-content:space-between;align-items:center;padding-top:var(--space-lg);margin-top:var(--space-lg);border-top:1px solid var(--light-gray)}.modal-price{display:flex;flex-direction:column;gap:2px}.modal-price .price-value{font-size:1.5rem}.btn-book-modal{display:flex;align-items:center;gap:var(--space-sm);padding:var(--space-md) var(--space-xl);background:linear-gradient(135deg,var(--primary-orange),#f57c00);border:none;border-radius:var(--radius-md);font-size:1rem;font-weight:600;color:var(--white);cursor:pointer;transition:all .3s ease;box-shadow:0 4px 14px #ff8c4259}.btn-book-modal:hover{transform:translateY(-2px);box-shadow:0 6px 20px #ff8c4273}@media(max-width:1024px){.activities-grid{grid-template-columns:repeat(2,1fr)}.search-form-main{grid-template-columns:1fr 1fr}.btn-search{grid-column:span 2}}@media(max-width:768px){.search-header{padding:var(--space-lg)}.search-title{font-size:1.4rem}.search-form{padding:var(--space-lg)}.search-form-main{grid-template-columns:1fr}.btn-search{grid-column:1;width:100%}.search-form-filters,.activities-grid{grid-template-columns:1fr}.results-header{flex-direction:column;align-items:flex-start;gap:var(--space-sm)}.modal-details-grid{grid-template-columns:1fr}.modal-footer{flex-direction:column;gap:var(--space-lg)}.btn-book-modal{width:100%;justify-content:center}}@media(max-width:480px){.search-title{font-size:1.2rem;flex-wrap:wrap}.search-title-icon{display:none}.date-inputs{flex-direction:column;align-items:stretch}.date-separator{text-align:center}.travelers-inputs{flex-direction:column}.activity-footer{flex-direction:column;align-items:stretch;gap:var(--space-md)}.activity-actions{flex-direction:row}.activity-actions button{flex:1}.modal-image{height:200px}.activity-search-page .modal-content{padding:var(--space-lg)}.modal-title{font-size:1.25rem}.popular-destinations{flex-direction:column}}.flight-search-page{min-height:100vh;background:var(--background);padding-bottom:var(--space-2xl)}.flight-search-header{padding:var(--space-xl) var(--space-2xl);background:linear-gradient(135deg,var(--white) 0%,rgba(37,99,235,.05) 100%);border-radius:var(--radius-lg);margin-bottom:var(--space-lg);box-shadow:var(--shadow);border:1px solid rgba(37,99,235,.1)}.header-content{display:flex;align-items:center;gap:var(--space-lg)}.header-icon{display:flex;align-items:center;justify-content:center;width:64px;height:64px;background:linear-gradient(135deg,var(--primary-blue),var(--dark-blue));border-radius:var(--radius-md);color:var(--white);box-shadow:0 4px 14px #2563eb59}.header-icon svg{transform:rotate(-45deg)}.header-text h1{margin:0 0 var(--space-xs);color:var(--dark-blue);font-size:1.75rem}.header-text p{margin:0;color:var(--gray);font-size:1rem}.flight-search-form{background:var(--white);border-radius:var(--radius-lg);padding:var(--space-xl);box-shadow:var(--shadow);border:1px solid var(--light-gray);margin-bottom:var(--space-xl)}.trip-type-toggle{display:flex;gap:var(--space-sm);margin-bottom:var(--space-lg);padding:var(--space-xs);background:var(--off-white);border-radius:var(--radius-md);width:fit-content}.trip-type-btn{display:flex;align-items:center;gap:var(--space-sm);padding:var(--space-sm) var(--space-lg);background:transparent;border:none;border-radius:var(--radius-sm);font-size:.9rem;font-weight:500;color:var(--gray);cursor:pointer;transition:all .2s ease}.trip-type-btn:hover{color:var(--dark-blue)}.trip-type-btn.active{background:var(--white);color:var(--primary-blue);box-shadow:var(--shadow-sm)}.form-row{display:flex;gap:var(--space-lg);margin-bottom:var(--space-lg)}.form-group{flex:1;display:flex;flex-direction:column;gap:var(--space-xs)}.form-group label{display:flex;align-items:center;gap:var(--space-sm);font-size:.85rem;font-weight:600;color:var(--dark-gray);text-transform:uppercase;letter-spacing:.5px}.label-icon{color:var(--primary-blue)}.label-icon.rotated{transform:rotate(90deg)}.form-group input,.form-group select{padding:var(--space-md);border:1px solid var(--border);border-radius:var(--radius-md);font-size:1rem;color:var(--dark-blue);background:var(--white);transition:all .2s ease}.form-group input:focus,.form-group select:focus{outline:none;border-color:var(--primary-blue);box-shadow:0 0 0 3px #2563eb1a}.form-group.has-error input,.form-group.has-error select{border-color:var(--danger)}.error-message{font-size:.8rem;color:var(--danger);margin-top:var(--space-xs)}.airport-input{text-transform:uppercase;letter-spacing:2px;font-weight:600;font-size:1.2rem!important;text-align:center}.airport-input::placeholder{text-transform:uppercase;letter-spacing:2px;opacity:.4}.airports-row{align-items:flex-end}.swap-btn{display:flex;align-items:center;justify-content:center;width:44px;height:44px;margin-bottom:4px;background:var(--off-white);border:1px solid var(--border);border-radius:50%;color:var(--gray);cursor:pointer;transition:all .2s ease;flex-shrink:0}.swap-btn:hover{background:var(--primary-blue);color:var(--white);border-color:var(--primary-blue);transform:rotate(180deg)}.passengers-group{flex:2}.passengers-inputs{display:flex;gap:var(--space-lg)}.passenger-input{display:flex;flex-direction:column;gap:var(--space-xs);flex:1}.passenger-label{font-size:.85rem;color:var(--dark-gray)}.passenger-label small{color:var(--gray);font-weight:400}.number-input{display:flex;align-items:center;gap:var(--space-sm);background:var(--off-white);border:1px solid var(--border);border-radius:var(--radius-md);padding:var(--space-xs)}.number-input button{display:flex;align-items:center;justify-content:center;width:32px;height:32px;background:var(--white);border:1px solid var(--border);border-radius:var(--radius-sm);font-size:1.1rem;color:var(--dark-gray);cursor:pointer;transition:all .2s ease}.number-input button:hover:not(:disabled){background:var(--primary-blue);color:var(--white);border-color:var(--primary-blue)}.number-input button:disabled{opacity:.4;cursor:not-allowed}.number-input span{min-width:24px;text-align:center;font-weight:600;color:var(--dark-blue)}.cabin-group{flex:1}.select-wrapper select{width:100%;appearance:none;padding-right:var(--space-xl)}.select-icon{position:absolute;right:var(--space-md);top:50%;transform:translateY(-50%);color:var(--gray);pointer-events:none}.search-btn{display:flex;align-items:center;justify-content:center;gap:var(--space-sm);width:100%;padding:var(--space-md) var(--space-xl);background:linear-gradient(135deg,var(--primary-blue),var(--dark-blue));color:var(--white);border:none;border-radius:var(--radius-md);font-size:1.1rem;font-weight:600;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 14px #2563eb59}.search-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 20px #2563eb73}.search-btn:disabled{opacity:.7;cursor:not-allowed;transform:none}.loading-plane{color:var(--primary-blue);transform:rotate(-45deg);animation:fly 2s ease-in-out infinite}@keyframes fly{0%,to{transform:rotate(-45deg) translateY(0)}50%{transform:rotate(-45deg) translateY(-10px)}}.results-section{margin-bottom:var(--space-2xl)}.results-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-lg);padding-bottom:var(--space-md);border-bottom:1px solid var(--border)}.results-header h2{margin:0;color:var(--dark-blue);font-size:1.5rem}.route-summary{display:flex;align-items:center;gap:var(--space-sm);font-size:.95rem;color:var(--gray);font-weight:500}.flight-results-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-lg)}.flight-card{position:relative;background:var(--white);border-radius:var(--radius-lg);padding:var(--space-lg);box-shadow:var(--shadow);border:2px solid var(--light-gray);cursor:pointer;transition:all .3s ease}.flight-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg);border-color:var(--primary-blue)}.flight-card.selected{border-color:var(--success);background:#28a74505}.selected-badge{position:absolute;top:var(--space-md);right:var(--space-md);display:flex;align-items:center;gap:var(--space-xs);padding:var(--space-xs) var(--space-sm);background:var(--success);color:var(--white);border-radius:var(--radius-full);font-size:.75rem;font-weight:600}.flight-card-price{display:flex;flex-direction:column;margin-bottom:var(--space-lg);padding-bottom:var(--space-md);border-bottom:1px solid var(--light-gray)}.price-amount{font-size:1.75rem;font-weight:700;color:var(--primary-blue)}.price-per{font-size:.85rem;color:var(--gray)}.flight-slice{margin-bottom:var(--space-md);padding-bottom:var(--space-md);border-bottom:1px dashed var(--light-gray)}.flight-slice:last-of-type{border-bottom:none;margin-bottom:var(--space-sm)}.slice-label{font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--gray);margin-bottom:var(--space-sm)}.flight-timeline{display:flex;align-items:center;gap:var(--space-md);margin-bottom:var(--space-sm)}.timeline-point{display:flex;flex-direction:column;align-items:center;min-width:60px}.timeline-point .time{font-size:1.1rem;font-weight:600;color:var(--dark-blue)}.timeline-point .code{font-size:.85rem;font-weight:600;color:var(--gray)}.timeline-connector{flex:1;display:flex;flex-direction:column;align-items:center;gap:2px}.connector-line{width:100%;height:2px;background:linear-gradient(90deg,var(--primary-blue),var(--primary-orange));border-radius:1px}.connector-info{display:flex;align-items:center;gap:4px;font-size:.75rem;color:var(--gray)}.stops-label{font-size:.7rem;color:var(--gray);font-weight:500}.airline-info{display:flex;align-items:center;gap:var(--space-md);font-size:.85rem;color:var(--dark-gray)}.airline-name{font-weight:500}.flight-number{color:var(--gray)}.cabin-class{padding:2px 8px;background:var(--off-white);border-radius:var(--radius-sm);font-size:.75rem;text-transform:capitalize}.slice-date{font-size:.8rem;color:var(--gray);margin-top:var(--space-sm)}.select-flight-btn{width:100%;display:flex;align-items:center;justify-content:center;gap:var(--space-sm);padding:var(--space-sm) var(--space-md);background:var(--off-white);border:1px solid var(--border);border-radius:var(--radius-md);font-size:.95rem;font-weight:600;color:var(--dark-gray);cursor:pointer;transition:all .2s ease;margin-top:var(--space-md)}.select-flight-btn:hover{background:var(--primary-blue);color:var(--white);border-color:var(--primary-blue)}.select-flight-btn.selected{background:var(--success);color:var(--white);border-color:var(--success)}.no-results{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--space-2xl);background:var(--white);border-radius:var(--radius-lg);border:2px dashed var(--border);text-align:center}.no-results svg{color:var(--gray);opacity:.5;margin-bottom:var(--space-md)}.no-results h3{color:var(--dark-blue);margin:0 0 var(--space-sm)}.no-results p{color:var(--gray);margin:0 0 var(--space-lg)}.retry-btn{display:flex;align-items:center;gap:var(--space-sm);padding:var(--space-sm) var(--space-lg);background:var(--off-white);border:1px solid var(--border);border-radius:var(--radius-md);font-size:.95rem;font-weight:500;color:var(--dark-gray);cursor:pointer;transition:all .2s ease}.retry-btn:hover{background:var(--primary-blue);color:var(--white);border-color:var(--primary-blue)}.selected-flight-summary{position:sticky;bottom:var(--space-lg);background:var(--white);border-radius:var(--radius-lg);padding:var(--space-lg);box-shadow:var(--shadow-xl);border:2px solid var(--success);z-index:100}.summary-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-md)}.summary-header h3{margin:0;color:var(--dark-blue);font-size:1rem}.clear-selection{padding:var(--space-xs) var(--space-md);background:transparent;border:1px solid var(--border);border-radius:var(--radius-sm);font-size:.85rem;color:var(--gray);cursor:pointer;transition:all .2s ease}.clear-selection:hover{border-color:var(--danger);color:var(--danger)}.summary-content{display:flex;align-items:center;gap:var(--space-lg)}.summary-route{display:flex;align-items:center;gap:var(--space-sm);font-size:1.1rem;font-weight:600;color:var(--dark-blue)}.summary-price{font-size:1.5rem;font-weight:700;color:var(--primary-blue);margin-left:auto}.proceed-btn{padding:var(--space-md) var(--space-xl);background:linear-gradient(135deg,var(--success),#2ed573);color:var(--white);border:none;border-radius:var(--radius-md);font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 14px #28a74559}.proceed-btn:hover{transform:translateY(-2px);box-shadow:0 6px 20px #28a74573}@media(max-width:1024px){.flight-results-grid{grid-template-columns:1fr}}@media(max-width:768px){.flight-search-header{padding:var(--space-lg)}.header-content{flex-direction:column;text-align:center}.header-icon{width:56px;height:56px}.header-text h1{font-size:1.5rem}.flight-search-form{padding:var(--space-lg)}.form-row{flex-direction:column;gap:var(--space-md)}.airports-row{flex-direction:column;align-items:stretch}.swap-btn{align-self:center;margin:var(--space-xs) 0;transform:rotate(90deg)}.swap-btn:hover{transform:rotate(270deg)}.passengers-inputs{flex-direction:column;gap:var(--space-md)}.passengers-row{flex-direction:column}.passengers-group,.cabin-group{flex:none}.summary-content{flex-direction:column;align-items:stretch;gap:var(--space-md)}.summary-price{margin-left:0;text-align:center}.proceed-btn{width:100%}.results-header{flex-direction:column;align-items:flex-start;gap:var(--space-sm)}}@media(max-width:480px){.trip-type-toggle{width:100%}.trip-type-btn{flex:1;justify-content:center}.flight-card-price .price-amount{font-size:1.5rem}.timeline-point .time{font-size:1rem}}.checkout-page{min-height:100vh;background:var(--background);padding-bottom:var(--space-2xl)}.checkout-header{padding:var(--space-xl) var(--space-2xl);background:linear-gradient(135deg,var(--white) 0%,rgba(37,99,235,.05) 100%);border-radius:var(--radius-lg);margin-bottom:var(--space-lg);box-shadow:var(--shadow);border:1px solid rgba(37,99,235,.1)}.checkout-header .header-content{display:flex;align-items:center;gap:var(--space-lg)}.checkout-header .header-icon{display:flex;align-items:center;justify-content:center;width:64px;height:64px;background:linear-gradient(135deg,var(--primary-blue),var(--dark-blue));border-radius:var(--radius-md);color:var(--white);box-shadow:0 4px 14px #2563eb59}.checkout-header .header-text h1{margin:0 0 var(--space-xs);color:var(--dark-blue);font-size:1.75rem}.checkout-header .header-text p{margin:0;color:var(--gray);font-size:1rem}.checkout-page .error-banner{display:flex;align-items:center;gap:var(--space-md);padding:var(--space-md) var(--space-lg);background:#dc35451a;border:1px solid rgba(220,53,69,.2);border-radius:var(--radius-md);margin-bottom:var(--space-lg);color:var(--danger)}.checkout-page .error-banner svg{flex-shrink:0}.checkout-page .error-banner span{flex:1}.checkout-page .dismiss-btn{padding:var(--space-xs) var(--space-md);background:transparent;border:1px solid var(--danger);border-radius:var(--radius-sm);font-size:.85rem;color:var(--danger);cursor:pointer;transition:all .2s ease}.checkout-page .dismiss-btn:hover{background:var(--danger);color:var(--white)}.empty-cart{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--space-2xl);background:var(--white);border-radius:var(--radius-lg);border:2px dashed var(--border);text-align:center;min-height:400px}.empty-cart svg{color:var(--gray);opacity:.4;margin-bottom:var(--space-lg)}.empty-cart h2{margin:0 0 var(--space-sm);color:var(--dark-blue);font-size:1.5rem}.empty-cart p{margin:0 0 var(--space-xl);color:var(--gray);font-size:1rem}.browse-btn{display:inline-flex;align-items:center;gap:var(--space-sm);padding:var(--space-md) var(--space-xl);background:linear-gradient(135deg,var(--primary-blue),var(--dark-blue));color:var(--white);border:none;border-radius:var(--radius-md);font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 14px #2563eb59}.browse-btn:hover{transform:translateY(-2px);box-shadow:0 6px 20px #2563eb73}.checkout-content{display:grid;grid-template-columns:1fr 400px;gap:var(--space-xl);align-items:start}.order-summary{background:var(--white);border-radius:var(--radius-lg);padding:var(--space-xl);box-shadow:var(--shadow);border:1px solid var(--light-gray)}.section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-lg);padding-bottom:var(--space-md);border-bottom:1px solid var(--border)}.section-header h2{margin:0;color:var(--dark-blue);font-size:1.25rem}.item-count{padding:var(--space-xs) var(--space-md);background:var(--off-white);border-radius:var(--radius-full);font-size:.85rem;font-weight:500;color:var(--gray)}.order-items{display:flex;flex-direction:column;gap:var(--space-md);margin-bottom:var(--space-lg)}.order-item{display:flex;align-items:flex-start;gap:var(--space-md);padding:var(--space-md);background:var(--off-white);border-radius:var(--radius-md);transition:all .2s ease}.order-item:hover{background:#2563eb0a}.item-type-icon{display:flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:var(--radius-md);flex-shrink:0}.item-type-icon.flight{background:linear-gradient(135deg,#2563eb26,#2563eb0d);color:var(--primary-blue)}.item-type-icon.hotel{background:linear-gradient(135deg,#ff8c4226,#ff8c420d);color:var(--primary-orange)}.item-type-icon.activity{background:linear-gradient(135deg,#28a74526,#28a7450d);color:var(--success)}.item-details{flex:1;min-width:0}.item-type-label{display:inline-block;font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--gray);margin-bottom:2px}.item-name{margin:0 0 var(--space-xs);color:var(--dark-blue);font-size:1rem;font-weight:600;line-height:1.3}.item-description{margin:0;font-size:.85rem;color:var(--gray)}.item-quantity{display:inline-block;margin-top:var(--space-xs);padding:2px 8px;background:var(--white);border-radius:var(--radius-sm);font-size:.75rem;font-weight:500;color:var(--dark-gray)}.item-price-section{display:flex;flex-direction:column;align-items:flex-end;gap:var(--space-xs)}.item-price{font-size:1.1rem;font-weight:700;color:var(--dark-blue);white-space:nowrap}.remove-item-btn{display:flex;align-items:center;justify-content:center;width:28px;height:28px;background:transparent;border:1px solid transparent;border-radius:var(--radius-sm);color:var(--gray);cursor:pointer;transition:all .2s ease}.remove-item-btn:hover{background:#dc35451a;border-color:#dc354533;color:var(--danger)}.price-breakdown{padding-top:var(--space-lg);border-top:1px solid var(--border)}.price-row{display:flex;justify-content:space-between;align-items:center;padding:var(--space-sm) 0}.price-row.subtotal{color:var(--dark-gray);font-size:.95rem}.price-row.fee{color:var(--gray);font-size:.9rem}.price-row.fee span:first-child{display:flex;align-items:center;gap:var(--space-xs)}.fee-info-btn{display:inline-flex;align-items:center;justify-content:center;background:transparent;border:none;color:var(--gray);cursor:help;padding:0}.fee-info-btn:hover{color:var(--primary-blue)}.price-row.total{margin-top:var(--space-sm);padding-top:var(--space-md);border-top:2px solid var(--dark-blue);font-size:1.25rem;font-weight:700;color:var(--dark-blue)}.payment-section{display:flex;flex-direction:column;gap:var(--space-lg)}.saved-methods{background:var(--white);border-radius:var(--radius-lg);padding:var(--space-lg);box-shadow:var(--shadow);border:1px solid var(--light-gray)}.saved-methods .section-header{margin-bottom:var(--space-md);padding-bottom:var(--space-sm)}.saved-methods .section-header h2{font-size:1rem}.payment-methods-list{display:flex;flex-direction:column;gap:var(--space-sm);margin-bottom:var(--space-md)}.payment-method-card{display:flex;align-items:center;gap:var(--space-md);padding:var(--space-md);background:var(--off-white);border:1px solid var(--border);border-radius:var(--radius-md);transition:all .2s ease}.payment-method-card.default{border-color:var(--primary-blue);background:#2563eb0a}.card-brand-icon{display:flex;align-items:center;justify-content:center;width:40px;height:28px;background:var(--white);border-radius:var(--radius-sm);color:var(--dark-gray)}.card-details{display:flex;align-items:center;gap:var(--space-md);flex:1}.card-brand{font-weight:700;font-size:.85rem;color:var(--dark-blue);letter-spacing:.5px}.card-number{font-size:.9rem;color:var(--dark-gray);font-family:monospace}.card-expiry{font-size:.8rem;color:var(--gray)}.default-badge{padding:2px 8px;background:var(--primary-blue);color:var(--white);border-radius:var(--radius-sm);font-size:.7rem;font-weight:600;text-transform:uppercase}.methods-note{display:flex;align-items:center;gap:var(--space-xs);margin:0;font-size:.8rem;color:var(--gray)}.loading-methods{display:flex;align-items:center;justify-content:center;gap:var(--space-sm);padding:var(--space-lg);background:var(--white);border-radius:var(--radius-lg);border:1px solid var(--light-gray);color:var(--gray);font-size:.9rem}.checkout-action{background:var(--white);border-radius:var(--radius-lg);padding:var(--space-xl);box-shadow:var(--shadow);border:1px solid var(--light-gray)}.checkout-btn{display:flex;align-items:center;justify-content:center;gap:var(--space-sm);width:100%;padding:var(--space-lg) var(--space-xl);background:linear-gradient(135deg,#635bff,#7c3aed);color:var(--white);border:none;border-radius:var(--radius-md);font-size:1.1rem;font-weight:600;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 14px #635bff66}.checkout-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 20px #635bff80}.checkout-btn:disabled{opacity:.7;cursor:not-allowed;transform:none}.security-badges{display:flex;justify-content:center;gap:var(--space-lg);margin-top:var(--space-lg);padding-top:var(--space-lg);border-top:1px solid var(--border)}.security-badge{display:flex;align-items:center;gap:var(--space-xs);font-size:.8rem;color:var(--gray)}.security-badge svg{color:var(--success)}.stripe-note{margin:var(--space-md) 0 0;text-align:center;font-size:.8rem;color:var(--gray)}.order-benefits{background:var(--white);border-radius:var(--radius-lg);padding:var(--space-lg);box-shadow:var(--shadow);border:1px solid var(--light-gray)}.order-benefits h3{margin:0 0 var(--space-md);color:var(--dark-blue);font-size:1rem}.order-benefits ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--space-sm)}.order-benefits li{display:flex;align-items:center;gap:var(--space-sm);font-size:.9rem;color:var(--dark-gray)}.order-benefits li svg{color:var(--success);flex-shrink:0}@media(max-width:1024px){.checkout-content{grid-template-columns:1fr}.payment-section{order:-1}}@media(max-width:768px){.checkout-header{padding:var(--space-lg)}.checkout-header .header-content{flex-direction:column;text-align:center}.checkout-header .header-icon{width:56px;height:56px}.checkout-header .header-text h1{font-size:1.5rem}.order-summary,.saved-methods,.checkout-action,.order-benefits{padding:var(--space-lg)}.order-item{flex-wrap:wrap}.item-price-section{width:100%;flex-direction:row;justify-content:space-between;align-items:center;padding-top:var(--space-sm);margin-top:var(--space-sm);border-top:1px dashed var(--border)}.security-badges{flex-direction:column;align-items:center;gap:var(--space-sm)}.card-details{flex-wrap:wrap;gap:var(--space-xs)}}@media(max-width:480px){.section-header{flex-direction:column;align-items:flex-start;gap:var(--space-sm)}.item-type-icon{width:36px;height:36px}.item-type-icon svg{width:16px;height:16px}.price-row.total{font-size:1.1rem}.checkout-btn{padding:var(--space-md) var(--space-lg);font-size:1rem}}.my-bookings-page{min-height:100vh;background:var(--background);padding-bottom:var(--space-2xl)}.bookings-header{padding:var(--space-xl) var(--space-2xl);background:linear-gradient(135deg,var(--white) 0%,rgba(37,99,235,.05) 100%);border-radius:var(--radius-lg);margin-bottom:var(--space-lg);box-shadow:var(--shadow);border:1px solid rgba(37,99,235,.1)}.bookings-header .header-content{display:flex;align-items:center;gap:var(--space-lg)}.bookings-header .header-icon{display:flex;align-items:center;justify-content:center;width:64px;height:64px;background:linear-gradient(135deg,var(--primary-blue),var(--dark-blue));border-radius:var(--radius-md);color:var(--white);box-shadow:0 4px 14px #2563eb59}.bookings-header .header-text h1{margin:0 0 var(--space-xs);color:var(--dark-blue);font-size:1.75rem}.bookings-header .header-text p{margin:0;color:var(--gray);font-size:1rem}.bookings-filters{display:flex;align-items:center;gap:var(--space-lg);padding:var(--space-md) var(--space-lg);background:var(--white);border-radius:var(--radius-lg);box-shadow:var(--shadow);border:1px solid var(--light-gray);margin-bottom:var(--space-lg);flex-wrap:wrap}.filter-tabs{display:flex;gap:var(--space-xs);padding:var(--space-xs);background:var(--off-white);border-radius:var(--radius-md)}.filter-tab{display:flex;align-items:center;gap:var(--space-sm);padding:var(--space-sm) var(--space-md);background:transparent;border:none;border-radius:var(--radius-sm);font-size:.9rem;font-weight:500;color:var(--gray);cursor:pointer;transition:all .2s ease;white-space:nowrap}.filter-tab:hover{color:var(--dark-blue)}.filter-tab.active{background:var(--white);color:var(--primary-blue);box-shadow:var(--shadow-sm)}.status-filter{display:flex;align-items:center;gap:var(--space-sm);margin-left:auto}.status-filter label{font-size:.9rem;font-weight:500;color:var(--dark-gray)}.select-wrapper{position:relative}.select-wrapper select{padding:var(--space-sm) var(--space-xl) var(--space-sm) var(--space-md);border:1px solid var(--border);border-radius:var(--radius-md);font-size:.9rem;color:var(--dark-blue);background:var(--white);appearance:none;cursor:pointer;transition:all .2s ease}.select-wrapper select:focus{outline:none;border-color:var(--primary-blue);box-shadow:0 0 0 3px #2563eb1a}.select-icon{position:absolute;right:var(--space-sm);top:50%;transform:translateY(-50%);color:var(--gray);pointer-events:none}.refresh-btn{display:flex;align-items:center;gap:var(--space-sm);padding:var(--space-sm) var(--space-md);background:var(--off-white);border:1px solid var(--border);border-radius:var(--radius-md);font-size:.9rem;font-weight:500;color:var(--dark-gray);cursor:pointer;transition:all .2s ease}.refresh-btn:hover:not(:disabled){background:var(--primary-blue);color:var(--white);border-color:var(--primary-blue)}.refresh-btn:disabled{opacity:.6;cursor:not-allowed}.error-banner{display:flex;align-items:center;gap:var(--space-md);padding:var(--space-md) var(--space-lg);background:#dc35451a;border:1px solid rgba(220,53,69,.2);border-radius:var(--radius-md);margin-bottom:var(--space-lg);color:var(--danger)}.error-banner svg{flex-shrink:0}.error-banner span{flex:1}.dismiss-btn{padding:var(--space-xs) var(--space-md);background:transparent;border:1px solid var(--danger);border-radius:var(--radius-sm);font-size:.85rem;color:var(--danger);cursor:pointer;transition:all .2s ease}.dismiss-btn:hover{background:var(--danger);color:var(--white)}.loading-container{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--space-2xl);min-height:300px}.loading-spinner{display:flex;align-items:center;justify-content:center;width:100px;height:100px;background:linear-gradient(135deg,#2563eb1a,#ff8c421a);border-radius:50%;margin-bottom:var(--space-lg)}.loading-spinner svg{color:var(--primary-blue)}.loading-text{color:var(--gray);font-size:1rem;margin:0}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--space-2xl);background:var(--white);border-radius:var(--radius-lg);border:2px dashed var(--border);text-align:center}.empty-state svg{color:var(--gray);opacity:.5;margin-bottom:var(--space-lg)}.empty-state h3{color:var(--dark-blue);margin:0 0 var(--space-sm);font-size:1.25rem}.empty-state p{color:var(--gray);margin:0 0 var(--space-lg);max-width:400px}.clear-filters-btn{display:flex;align-items:center;gap:var(--space-sm);padding:var(--space-sm) var(--space-lg);background:var(--primary-blue);color:var(--white);border:none;border-radius:var(--radius-md);font-size:.95rem;font-weight:500;cursor:pointer;transition:all .2s ease}.clear-filters-btn:hover{background:var(--dark-blue)}.bookings-list{display:flex;flex-direction:column;gap:var(--space-md)}.booking-card{background:var(--white);border-radius:var(--radius-lg);box-shadow:var(--shadow);border:1px solid var(--light-gray);overflow:hidden;transition:all .3s ease}.booking-card:hover{box-shadow:var(--shadow-md);border-color:#2563eb33}.booking-card.expanded{border-color:var(--primary-blue)}.booking-card-main{display:flex;align-items:center;gap:var(--space-md);padding:var(--space-lg);cursor:pointer}.booking-icon-wrapper{flex-shrink:0}.booking-icon{display:flex;align-items:center;justify-content:center;width:48px;height:48px;border-radius:var(--radius-md);color:var(--white)}.booking-icon-flight{background:linear-gradient(135deg,#3b82f6,#1d4ed8)}.booking-icon-hotel{background:linear-gradient(135deg,#8b5cf6,#6d28d9)}.booking-icon-activity,.booking-icon-request{background:linear-gradient(135deg,#f97316,#ea580c)}.booking-info{flex:1;min-width:0}.booking-name{font-size:1.1rem;font-weight:600;color:var(--dark-blue);margin-bottom:var(--space-xs);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.booking-subtitle{font-size:.9rem;color:var(--gray);margin-bottom:var(--space-xs)}.booking-meta{display:flex;align-items:center;gap:var(--space-md)}.booking-date{display:flex;align-items:center;gap:var(--space-xs);font-size:.85rem;color:var(--gray)}.booking-right{display:flex;flex-direction:column;align-items:flex-end;gap:var(--space-sm)}.status-badge{display:inline-flex;align-items:center;padding:var(--space-xs) var(--space-sm);border-radius:var(--radius-full);font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.status-confirmed{background:#22c55e1a;color:#16a34a}.status-pending{background:#f59e0b1a;color:#d97706}.status-cancelled{background:#6b72801a;color:#6b7280}.status-completed{background:#22c55e26;color:#15803d}.booking-price{font-size:1.25rem;font-weight:700;color:var(--primary-blue)}.expand-btn{display:flex;align-items:center;justify-content:center;width:36px;height:36px;background:var(--off-white);border:none;border-radius:50%;color:var(--gray);cursor:pointer;transition:all .2s ease;flex-shrink:0}.expand-btn:hover{background:var(--primary-blue);color:var(--white)}.booking-details{padding:0 var(--space-lg) var(--space-lg);border-top:1px solid var(--light-gray);background:var(--off-white);animation:slideDown .3s ease}.booking-details-content{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:var(--space-md);padding:var(--space-lg) 0}.detail-row{display:flex;flex-direction:column;gap:2px}.detail-label{font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--gray)}.detail-value{font-size:.95rem;color:var(--dark-blue);font-weight:500}.booking-actions{display:flex;justify-content:flex-end;gap:var(--space-md);padding-top:var(--space-md);border-top:1px solid var(--border)}.cancel-btn{padding:var(--space-sm) var(--space-lg);background:transparent;border:1px solid var(--danger);border-radius:var(--radius-md);font-size:.9rem;font-weight:500;color:var(--danger);cursor:pointer;transition:all .2s ease}.cancel-btn:hover{background:var(--danger);color:var(--white)}.results-count{text-align:center;padding:var(--space-lg);color:var(--gray);font-size:.9rem}.modal-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:var(--space-lg);animation:fadeIn .2s ease}.cancel-modal{position:relative;background:var(--white);border-radius:var(--radius-lg);padding:var(--space-xl);max-width:480px;width:100%;box-shadow:var(--shadow-xl);text-align:center;animation:slideUp .3s ease}.modal-close{position:absolute;top:var(--space-md);right:var(--space-md);display:flex;align-items:center;justify-content:center;width:32px;height:32px;background:var(--off-white);border:none;border-radius:50%;color:var(--gray);cursor:pointer;transition:all .2s ease}.modal-close:hover{background:var(--danger);color:var(--white)}.modal-icon{display:flex;align-items:center;justify-content:center;width:64px;height:64px;border-radius:50%;margin:0 auto var(--space-lg)}.modal-icon.warning{background:#f59e0b1a;color:#d97706}.modal-icon.success{background:#22c55e1a;color:#16a34a}.modal-icon.error{background:#dc35451a;color:var(--danger)}.cancel-modal h2{color:var(--dark-blue);margin:0 0 var(--space-md);font-size:1.5rem}.cancel-modal p{color:var(--gray);margin:0 0 var(--space-md);line-height:1.6}.cancel-modal strong{color:var(--dark-blue)}.cancel-warning{font-size:.9rem;color:var(--danger)!important;background:#dc35450d;padding:var(--space-sm) var(--space-md);border-radius:var(--radius-md)}.refund-notice{font-size:.9rem;color:#16a34a!important;background:#22c55e1a;padding:var(--space-sm) var(--space-md);border-radius:var(--radius-md)}.modal-actions{display:flex;gap:var(--space-md);margin-top:var(--space-xl)}.modal-btn{flex:1;display:flex;align-items:center;justify-content:center;gap:var(--space-sm);padding:var(--space-md) var(--space-lg);border:none;border-radius:var(--radius-md);font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s ease}.modal-btn:disabled{opacity:.6;cursor:not-allowed}.modal-btn.primary{background:linear-gradient(135deg,var(--primary-blue),var(--dark-blue));color:var(--white);box-shadow:0 4px 14px #2563eb59}.modal-btn.primary:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 20px #2563eb73}.modal-btn.secondary{background:var(--off-white);color:var(--dark-gray);border:1px solid var(--border)}.modal-btn.secondary:hover:not(:disabled){background:var(--light-gray)}.modal-btn.danger{background:linear-gradient(135deg,var(--danger),#c82333);color:var(--white);box-shadow:0 4px 14px #dc354559}.modal-btn.danger:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 20px #dc354573}@media(max-width:768px){.bookings-header{padding:var(--space-lg)}.bookings-header .header-content{flex-direction:column;text-align:center}.bookings-header .header-icon{width:56px;height:56px}.bookings-header .header-text h1{font-size:1.5rem}.bookings-filters{flex-direction:column;align-items:stretch}.filter-tabs{overflow-x:auto;-webkit-overflow-scrolling:touch}.status-filter{margin-left:0;justify-content:space-between}.refresh-btn{width:100%;justify-content:center}.booking-card-main{flex-wrap:wrap;gap:var(--space-sm)}.booking-info{width:calc(100% - 84px)}.booking-right{width:100%;flex-direction:row;justify-content:space-between;align-items:center;padding-top:var(--space-sm);border-top:1px dashed var(--light-gray);margin-top:var(--space-xs)}.expand-btn{position:absolute;top:var(--space-lg);right:var(--space-lg)}.booking-card-main{position:relative;padding-right:calc(var(--space-lg) + 44px)}.booking-details-content{grid-template-columns:1fr}.modal-actions{flex-direction:column}}@media(max-width:480px){.filter-tab{padding:var(--space-xs) var(--space-sm);font-size:.85rem}.filter-tab svg{display:none}.booking-name{font-size:1rem}.booking-price{font-size:1.1rem}}.booking-success{min-height:100vh;background:linear-gradient(180deg,#f0fdf4,#ecfdf5,#f0fdf4)}.booking-success-container{display:flex;justify-content:center;align-items:center;min-height:calc(100vh - 80px);padding:var(--space-xl);position:relative;overflow:hidden}.booking-success-card{background:var(--white);border-radius:var(--radius-lg);box-shadow:0 25px 50px -12px #0000001a,0 0 0 1px #22c55e1a;padding:var(--space-2xl);max-width:540px;width:100%;position:relative;z-index:10;text-align:center;animation:slideUp .6s ease-out}.success-icon-container{position:relative;width:120px;height:120px;margin:0 auto var(--space-xl)}.success-icon{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);color:#22c55e;animation:scaleIn .5s ease-out .2s both}@keyframes scaleIn{0%{opacity:0;transform:translate(-50%,-50%) scale(0)}50%{transform:translate(-50%,-50%) scale(1.15)}to{opacity:1;transform:translate(-50%,-50%) scale(1)}}.success-icon-ring{position:absolute;top:0;left:0;width:100%;height:100%;border:3px solid rgba(34,197,94,.2);border-radius:50%;animation:ringPulse 2s ease-out infinite}.success-icon-ring.ring-2{animation-delay:.5s}@keyframes ringPulse{0%{transform:scale(.8);opacity:1}to{transform:scale(1.5);opacity:0}}.success-content{margin-bottom:var(--space-xl);position:relative}.success-title{font-size:1.75rem;font-weight:700;color:var(--dark-blue);margin-bottom:var(--space-sm);line-height:1.3}.success-subtitle{font-size:1.1rem;color:var(--gray);line-height:1.5}.celebration-sparkles{position:absolute;top:-20px;left:0;right:0;pointer-events:none}.sparkle{position:absolute;color:#fbbf24;animation:sparkle 2s ease-in-out infinite}.sparkle-1{left:10%;animation-delay:0s}.sparkle-2{left:50%;top:-10px;animation-delay:.3s}.sparkle-3{right:10%;animation-delay:.6s}@keyframes sparkle{0%,to{opacity:0;transform:translateY(0) rotate(0) scale(.5)}50%{opacity:1;transform:translateY(-10px) rotate(180deg) scale(1)}}.session-info{background:linear-gradient(135deg,#f0fdf4,#ecfdf5);border:1px solid rgba(34,197,94,.2);border-radius:var(--radius-md);padding:var(--space-md);margin-bottom:var(--space-xl)}.session-label{display:flex;align-items:center;justify-content:center;gap:var(--space-xs);color:#15803d;font-weight:600;font-size:.875rem;margin-bottom:var(--space-sm)}.session-id{display:block;background:var(--white);color:var(--dark-blue);padding:var(--space-sm) var(--space-md);border-radius:var(--radius);font-family:SF Mono,Fira Code,monospace;font-size:.85rem;word-break:break-all;border:1px solid var(--border)}.booking-details{background:var(--off-white);border-radius:var(--radius-md);padding:var(--space-lg);margin-bottom:var(--space-xl)}.detail-item{display:flex;align-items:center;justify-content:center;gap:var(--space-sm);color:var(--dark-gray);font-size:1rem;padding:var(--space-sm) 0}.detail-item:not(:last-child){border-bottom:1px solid var(--border)}.detail-item svg{color:#22c55e;flex-shrink:0}.success-actions{display:flex;flex-direction:column;gap:var(--space-md);margin-bottom:var(--space-xl)}.success-actions .btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-sm);padding:var(--space-md) var(--space-xl);font-size:1rem;font-weight:600;border-radius:var(--radius);text-decoration:none;transition:all .2s ease;cursor:pointer}.success-actions .btn-primary{background:linear-gradient(135deg,#22c55e,#16a34a);color:var(--white);border:none;box-shadow:0 4px 14px #22c55e4d}.success-actions .btn-primary:hover{background:linear-gradient(135deg,#16a34a,#15803d);box-shadow:0 6px 20px #22c55e66;transform:translateY(-2px)}.success-actions .btn-secondary{background:var(--white);color:var(--dark-blue);border:2px solid var(--border)}.success-actions .btn-secondary:hover{border-color:var(--dark-blue);background:var(--off-white)}.btn-large{padding:var(--space-md) var(--space-xl)}.success-footer{padding-top:var(--space-lg);border-top:1px solid var(--border)}.success-footer p{color:var(--gray);font-size:.9rem;margin-bottom:var(--space-sm)}.success-footer .footer-note{font-size:.85rem}.success-footer .link{color:#22c55e;text-decoration:none;font-weight:600;transition:color .2s ease}.success-footer .link:hover{color:#16a34a;text-decoration:underline}.success-background{position:absolute;top:0;left:0;width:100%;height:100%;overflow:hidden;z-index:1;pointer-events:none}.bg-circle{position:absolute;border-radius:50%;animation:float 20s infinite ease-in-out}.bg-circle-1{width:500px;height:500px;background:linear-gradient(135deg,#22c55e1a,#22c55e08);top:-250px;left:-250px;animation-delay:0s}.bg-circle-2{width:600px;height:600px;background:linear-gradient(135deg,#22c55e14,#16a34a05);bottom:-300px;right:-300px;animation-delay:5s}.bg-circle-3{width:300px;height:300px;background:linear-gradient(135deg,#fbbf241a,#fbbf2408);top:30%;right:5%;animation-delay:10s}@media(max-width:768px){.booking-success-container{padding:var(--space-md);min-height:calc(100vh - 70px);align-items:flex-start;padding-top:var(--space-xl)}.booking-success-card{padding:var(--space-xl)}.success-icon-container{width:100px;height:100px}.success-icon svg{width:48px;height:48px}.success-title{font-size:1.5rem}.success-subtitle{font-size:1rem}.session-id{font-size:.75rem}.bg-circle-1{width:300px;height:300px;top:-150px;left:-150px}.bg-circle-2{width:350px;height:350px;bottom:-175px;right:-175px}.bg-circle-3{display:none}}@media(max-width:480px){.booking-success-container{padding:var(--space-sm);padding-top:var(--space-lg)}.booking-success-card{padding:var(--space-lg);border-radius:var(--radius-md)}.success-icon-container{width:80px;height:80px;margin-bottom:var(--space-lg)}.success-icon svg{width:40px;height:40px}.success-title{font-size:1.25rem}.success-actions .btn{padding:var(--space-sm) var(--space-lg);font-size:.95rem}.celebration-sparkles{display:none}}.success-actions .btn:focus-visible{outline:3px solid #22c55e;outline-offset:2px}.success-footer .link:focus-visible{outline:2px solid #22c55e;outline-offset:2px;border-radius:var(--radius-sm)}@media(prefers-reduced-motion:reduce){.booking-success-card,.success-icon,.success-icon-ring,.sparkle,.bg-circle{animation:none}.success-icon{opacity:1;transform:translate(-50%,-50%) scale(1)}.success-icon-ring{opacity:.3}}.booking-cancel-container{min-height:100vh;display:flex;justify-content:center;align-items:center;padding:var(--space-lg);position:relative;overflow:hidden;background:linear-gradient(135deg,#2d2d2d,#3d3d3d,#4a4a4a 50%,#2d2d2d)}.booking-cancel-container:before{content:"";position:absolute;top:0;left:0;width:100%;height:100%;background-image:radial-gradient(circle at 20% 80%,rgba(245,158,11,.1) 0%,transparent 50%),radial-gradient(circle at 80% 20%,rgba(107,114,128,.1) 0%,transparent 50%),radial-gradient(circle at 40% 40%,rgba(245,158,11,.05) 0%,transparent 30%),radial-gradient(circle at 60% 60%,rgba(107,114,128,.05) 0%,transparent 30%);z-index:1;pointer-events:none}.booking-cancel-container:after{content:"";position:absolute;top:0;left:0;width:100%;height:100%;background-image:radial-gradient(2px 2px at 10% 10%,rgba(255,255,255,.2) 50%,transparent 50%),radial-gradient(2px 2px at 30% 60%,rgba(255,255,255,.15) 50%,transparent 50%),radial-gradient(1px 1px at 50% 30%,rgba(255,255,255,.25) 50%,transparent 50%),radial-gradient(2px 2px at 70% 80%,rgba(255,255,255,.15) 50%,transparent 50%),radial-gradient(1px 1px at 90% 40%,rgba(255,255,255,.2) 50%,transparent 50%);z-index:1;pointer-events:none}.booking-cancel-card{background:var(--white);border-radius:var(--radius-lg);box-shadow:0 25px 50px -12px #00000040,0 0 0 1px #ffffff1a;padding:var(--space-2xl);max-width:560px;width:100%;position:relative;z-index:10;animation:slideUp .6s ease-out}.cancel-header{text-align:center;margin-bottom:var(--space-xl)}.cancel-icon-wrapper{display:inline-flex;justify-content:center;align-items:center;width:100px;height:100px;border-radius:50%;background:linear-gradient(135deg,#f59e0b26,#f59e0b0d);color:#d97706;margin-bottom:var(--space-lg);animation:fadeInScale .6s ease-out}@keyframes fadeInScale{0%{opacity:0;transform:scale(.8)}to{opacity:1;transform:scale(1)}}.cancel-title{font-size:1.75rem;font-weight:700;color:var(--dark-blue);margin:0 0 var(--space-sm) 0}.cancel-subtitle{font-size:1.1rem;color:var(--gray);margin:0;line-height:1.5}.cancel-content{margin-bottom:var(--space-xl)}.reassurance-section{display:flex;flex-direction:column;gap:var(--space-md);margin-bottom:var(--space-xl)}.reassurance-item{display:flex;gap:var(--space-md);padding:var(--space-md);background:linear-gradient(135deg,#f59e0b14,#f59e0b08);border-radius:var(--radius-md);border-left:4px solid #f59e0b}.reassurance-item svg{color:#d97706;flex-shrink:0;margin-top:2px}.reassurance-text h3{font-size:1rem;font-weight:600;color:var(--dark-blue);margin:0 0 var(--space-xs) 0}.reassurance-text p{font-size:.95rem;color:var(--dark-gray);margin:0;line-height:1.5}.cancel-reasons{background:var(--off-white);border-radius:var(--radius-md);padding:var(--space-lg);border:1px solid var(--border)}.cancel-reasons h4{font-size:.9rem;font-weight:600;color:var(--dark-gray);margin:0 0 var(--space-md) 0;text-transform:uppercase;letter-spacing:.5px}.cancel-reasons ul{margin:0;padding-left:var(--space-lg)}.cancel-reasons li{font-size:.95rem;color:var(--gray);line-height:1.8}.cancel-actions{display:flex;flex-direction:column;gap:var(--space-md);margin-bottom:var(--space-lg)}.cancel-actions .btn{display:flex;align-items:center;justify-content:center;gap:var(--space-sm)}.btn-large{padding:var(--space-md) var(--space-xl);font-size:1.05rem;width:100%}.btn-secondary{background:transparent;border:2px solid var(--light-gray);color:var(--dark-gray)}.btn-secondary:hover{border-color:var(--gray);color:var(--dark-blue);background:var(--off-white)}.cancel-help{text-align:center;padding-top:var(--space-md);border-top:1px solid var(--border)}.help-link{display:inline-flex;align-items:center;gap:var(--space-xs);background:none;border:none;color:var(--gray);font-size:.95rem;cursor:pointer;padding:var(--space-sm);border-radius:var(--radius);transition:all .2s ease}.help-link:hover{color:var(--primary-orange);background:#ff8c4214}.help-link:focus-visible{outline:2px solid var(--primary-orange);outline-offset:2px}.cancel-background{position:absolute;top:0;left:0;width:100%;height:100%;overflow:hidden;z-index:2;pointer-events:none}.cancel-background .background-circle{position:absolute;border-radius:50%;animation:float 20s infinite ease-in-out}.cancel-background .circle-1{width:500px;height:500px;background:linear-gradient(135deg,#f59e0b1f,#f59e0b0a);top:-250px;left:-250px;animation-delay:0s}.cancel-background .circle-2{width:700px;height:700px;background:linear-gradient(135deg,#6b72801a,#6b728008);bottom:-350px;right:-350px;animation-delay:5s}.cancel-background .circle-3{width:350px;height:350px;background:linear-gradient(135deg,#f59e0b1a,#f59e0b08);top:40%;right:-175px;animation-delay:10s}@media(max-width:768px){.booking-cancel-container{padding:var(--space-md);align-items:flex-start;padding-top:var(--space-2xl)}.booking-cancel-card{padding:var(--space-xl);border-radius:var(--radius-md)}.cancel-icon-wrapper{width:80px;height:80px}.cancel-icon-wrapper svg{width:48px;height:48px}.cancel-title{font-size:1.5rem}.cancel-subtitle{font-size:1rem}.reassurance-item{padding:var(--space-sm) var(--space-md)}.cancel-reasons{padding:var(--space-md)}.cancel-background .circle-1{width:300px;height:300px;top:-150px;left:-150px}.cancel-background .circle-2{width:400px;height:400px;bottom:-200px;right:-200px}.cancel-background .circle-3{display:none}}@media(max-width:480px){.booking-cancel-container{padding:var(--space-sm);padding-top:var(--space-lg)}.booking-cancel-card{padding:var(--space-lg)}.cancel-icon-wrapper{width:70px;height:70px}.cancel-icon-wrapper svg{width:40px;height:40px}.cancel-title{font-size:1.35rem}.reassurance-text h3{font-size:.95rem}.reassurance-text p{font-size:.9rem}.btn-large{padding:var(--space-sm) var(--space-lg);font-size:1rem}}.cancel-actions button:focus-visible{outline:2px solid var(--primary-orange);outline-offset:2px}.app-footer{padding:var(--space-2xl) 0;background:var(--dark-blue);color:#fff;margin-top:auto}.app-footer .footer-content{display:flex;justify-content:space-between;align-items:flex-start;padding-bottom:var(--space-xl);border-bottom:1px solid rgba(255,255,255,.1)}.app-footer .footer-brand{max-width:300px}.app-footer .footer-logo-link{display:inline-block;margin-bottom:var(--space-md)}.app-footer .footer-logo{height:48px;filter:brightness(0) invert(1);transition:opacity .2s ease}.app-footer .footer-logo:hover{opacity:.9}.app-footer .footer-brand p{color:#ffffffb3;font-size:.95rem;line-height:1.6;margin:0}.app-footer .footer-links-grid{display:flex;gap:var(--space-2xl)}.app-footer .footer-column{display:flex;flex-direction:column;gap:var(--space-sm)}.app-footer .footer-column h4{color:#fff;font-weight:600;margin-bottom:var(--space-sm);font-size:1rem}.app-footer .footer-link{color:#ffffffb3;text-decoration:none;font-size:.95rem;transition:color .2s ease;display:flex;align-items:center;gap:var(--space-xs)}.app-footer .footer-link:hover{color:#fff}.app-footer .footer-link.active{color:var(--accent-color, #60A5FA)}.app-footer .footer-logout-btn{background:none;border:none;padding:0;cursor:pointer;font-family:inherit}.app-footer .footer-bottom{padding-top:var(--space-lg);text-align:center}.app-footer .footer-bottom p{color:#ffffff80;font-size:.875rem;margin:0}@media(max-width:768px){.app-footer .footer-content{flex-direction:column;gap:var(--space-xl);text-align:center}.app-footer .footer-brand{max-width:100%;margin:0 auto}.app-footer .footer-links-grid{flex-direction:column;gap:var(--space-xl);align-items:center}.app-footer .footer-column{align-items:center}.app-footer .footer-link{justify-content:center}}@media(max-width:480px){.app-footer{padding:var(--space-xl) 0}.app-footer .footer-links-grid{gap:var(--space-lg)}}.choice-modal-overlay{z-index:1000}.choice-modal{background:#fff;border-radius:var(--radius-xl);max-width:780px;width:90%;max-height:90vh;overflow-y:auto;position:relative;padding:var(--space-2xl);box-shadow:0 20px 60px #0003}.choice-modal .modal-close{position:absolute;top:var(--space-lg);right:var(--space-lg);background:transparent;border:none;color:var(--gray);cursor:pointer;padding:var(--space-sm);border-radius:var(--radius-sm);transition:all .2s ease}.choice-modal .modal-close:hover{background:var(--light-gray);color:var(--dark-blue)}.choice-modal-header{text-align:center;margin-bottom:var(--space-2xl)}.choice-modal-icon{width:72px;height:72px;margin:0 auto var(--space-lg);display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#ff8c4226,#ff8c4214);border-radius:50%;color:var(--primary-orange)}.choice-modal-header h2{font-size:1.75rem;font-weight:700;color:var(--dark-blue);margin-bottom:var(--space-sm)}.choice-modal-header p{color:var(--gray);font-size:1.1rem}.choice-options{display:flex;flex-direction:column;gap:var(--space-lg)}.choice-option{display:flex;align-items:flex-start;gap:var(--space-lg);padding:var(--space-xl);background:var(--background);border:2px solid var(--border);border-radius:var(--radius-lg);cursor:pointer;transition:all .3s ease;text-align:left;position:relative}.choice-option:hover{border-color:var(--primary-orange);background:linear-gradient(135deg,#ff8c420d,#ff8c4205);transform:translateY(-2px);box-shadow:0 8px 24px #00000014}.choice-option:hover .choice-arrow{transform:translate(4px)}.choice-option-icon{width:56px;height:56px;flex-shrink:0;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-md);background:linear-gradient(135deg,#ff8c4226,#2563eb1a);color:var(--primary-orange)}.choice-option.quickstart .choice-option-icon{background:linear-gradient(135deg,#2563eb26,#2563eb14);color:var(--primary-blue)}.choice-option-content{flex:1}.choice-option-content h3{font-size:1.25rem;font-weight:700;color:var(--dark-blue);margin-bottom:var(--space-sm)}.choice-option-content p{color:var(--gray);line-height:1.6;margin-bottom:var(--space-md)}.choice-benefits{list-style:none;padding:0;margin:0}.choice-benefits li{display:flex;align-items:center;gap:var(--space-sm);color:var(--text-primary);font-size:.95rem;margin-bottom:var(--space-xs)}.choice-benefits li:before{content:"✓";color:var(--primary-orange);font-weight:700}.choice-option.quickstart .choice-benefits li:before{color:var(--primary-blue)}.choice-option-badge{position:absolute;top:var(--space-md);right:var(--space-md);padding:var(--space-xs) var(--space-sm);background:linear-gradient(135deg,var(--primary-orange),#f57c00);color:#fff;font-size:.75rem;font-weight:600;text-transform:uppercase;border-radius:var(--radius-full)}.choice-arrow{color:var(--gray);flex-shrink:0;margin-top:var(--space-md);transition:transform .2s ease}.choice-note{text-align:center;color:var(--gray);font-size:.9rem;margin-top:var(--space-xl);padding-top:var(--space-lg);border-top:1px solid var(--border)}@media(max-width:640px){.choice-modal{padding:var(--space-lg)}.choice-option{flex-direction:column;gap:var(--space-md);padding:var(--space-lg)}.choice-option-icon{width:48px;height:48px}.choice-arrow{position:absolute;right:var(--space-lg);top:50%;transform:translateY(-50%);margin-top:0}.choice-option:hover .choice-arrow{transform:translateY(-50%) translate(4px)}.choice-option-badge{top:var(--space-sm);right:var(--space-sm)}}.landing-page{min-height:100vh;background:var(--background);overflow-x:hidden}.hero-section{position:relative;min-height:calc(100vh - 80px);display:flex;align-items:center;overflow:hidden;padding:var(--space-2xl) 0}.hero-background{position:absolute;inset:0;z-index:0;overflow:hidden}.hero-gradient-primary{position:absolute;inset:0;background:linear-gradient(135deg,#ff8c421f,#fffffff2 40%,#2563eb14)}.hero-gradient-secondary{position:absolute;top:-50%;right:-20%;width:80%;height:100%;background:radial-gradient(ellipse at center,rgba(255,140,66,.08) 0%,transparent 70%);transform:rotate(-15deg)}.hero-pattern{position:absolute;inset:0;background-image:radial-gradient(circle at 25% 25%,rgba(255,140,66,.06) 0%,transparent 50%),radial-gradient(circle at 75% 75%,rgba(37,99,235,.05) 0%,transparent 50%);background-size:100px 100px}.hero-glow{position:absolute;border-radius:50%;filter:blur(80px);opacity:.4}.hero-glow-1{width:400px;height:400px;background:var(--primary-orange);top:10%;left:5%;animation:glow-pulse 8s ease-in-out infinite}.hero-glow-2{width:300px;height:300px;background:var(--primary-blue);bottom:10%;right:10%;animation:glow-pulse 8s ease-in-out infinite 4s}@keyframes glow-pulse{0%,to{opacity:.3;transform:scale(1)}50%{opacity:.5;transform:scale(1.1)}}.hero-container{position:relative;z-index:1;display:grid;grid-template-columns:1fr 1fr;gap:var(--space-2xl);align-items:center}.hero-content{max-width:580px}.hero-badge{display:inline-flex;align-items:center;gap:var(--space-sm);padding:var(--space-sm) var(--space-md);background:linear-gradient(135deg,#ff8c4226,#ff8c420d);border:1px solid rgba(255,140,66,.2);border-radius:var(--radius-full);color:var(--primary-orange);font-weight:600;font-size:.875rem;margin-bottom:var(--space-lg);animation:badge-shimmer 3s ease-in-out infinite}@keyframes badge-shimmer{0%,to{box-shadow:0 0 #ff8c4233}50%{box-shadow:0 0 20px 2px #ff8c4226}}.hero-title{font-size:3.75rem;font-weight:800;line-height:1.1;color:var(--dark-blue);margin-bottom:var(--space-lg);letter-spacing:-.02em}.title-highlight{background:linear-gradient(135deg,var(--primary-orange) 0%,#f97316 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.hero-subtitle{font-size:1.25rem;color:var(--gray);line-height:1.75;margin-bottom:var(--space-xl)}.hero-cta{display:flex;gap:var(--space-md);margin-bottom:var(--space-2xl)}.btn-hero-primary{display:flex;align-items:center;gap:var(--space-sm);padding:var(--space-md) var(--space-xl);background:linear-gradient(135deg,var(--primary-orange) 0%,#f97316 100%);color:#fff;border:none;border-radius:var(--radius-md);font-size:1.1rem;font-weight:600;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);box-shadow:0 4px 20px #ff8c4259}.btn-hero-primary:hover{transform:translateY(-3px);box-shadow:0 8px 30px #ff8c4273}.btn-hero-primary:active{transform:translateY(-1px)}.btn-hero-secondary{display:flex;align-items:center;gap:var(--space-sm);padding:var(--space-md) var(--space-xl);background:transparent;color:var(--primary-blue);border:2px solid var(--primary-blue);border-radius:var(--radius-md);font-size:1.1rem;font-weight:600;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1)}.btn-hero-secondary:hover{background:var(--primary-blue);color:#fff;transform:translateY(-2px);box-shadow:0 4px 20px #2563eb4d}.hero-trust{display:flex;gap:var(--space-xl);padding-top:var(--space-lg);border-top:1px solid var(--border)}.trust-item{display:flex;flex-direction:column}.trust-value{font-size:1.5rem;font-weight:800;color:var(--dark-blue)}.trust-label{font-size:.875rem;color:var(--gray)}.hero-visual{position:relative;height:500px}.hero-card{position:absolute;background:#fff;border-radius:var(--radius-lg);box-shadow:0 20px 60px #0000001f}.hero-card-main{top:50%;left:50%;transform:translate(-50%,-50%);width:300px;padding:var(--space-lg);display:flex;flex-direction:column;gap:var(--space-md)}.card-header{display:flex;justify-content:flex-end}.card-badge-ai{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;background:linear-gradient(135deg,#ff8c421f,#ff8c420d);border-radius:var(--radius-full);color:var(--primary-orange);font-size:.75rem;font-weight:600}.card-destination{display:flex;align-items:center;gap:var(--space-sm);font-size:1.35rem;font-weight:700;color:var(--dark-blue)}.card-destination svg{color:var(--primary-orange)}.card-meta{display:flex;flex-direction:column;gap:var(--space-sm)}.meta-item{display:flex;align-items:center;gap:var(--space-sm);color:var(--gray);font-size:.9rem}.card-progress{display:flex;align-items:center;gap:var(--space-sm);padding-top:var(--space-sm);border-top:1px solid var(--border)}.progress-bar{flex:1;height:6px;background:var(--light-gray);border-radius:var(--radius-full);overflow:hidden}.progress-fill{height:100%;background:linear-gradient(90deg,var(--primary-orange),#f97316);border-radius:var(--radius-full);transition:width 1s ease}.progress-text{font-size:.8rem;color:var(--gray);font-weight:500}.hero-card-float{animation:float 5s ease-in-out infinite}.hero-card-activity{top:15%;right:5%;display:flex;align-items:center;gap:var(--space-md);padding:var(--space-md) var(--space-lg);animation-delay:0s}.activity-emoji{font-size:2rem}.activity-info{display:flex;flex-direction:column}.activity-name{font-weight:600;color:var(--dark-blue);font-size:.95rem}.activity-time{font-size:.8rem;color:var(--gray)}.activity-check{color:var(--success)}.hero-card-collab{bottom:25%;left:0;display:flex;align-items:center;gap:var(--space-md);padding:var(--space-md) var(--space-lg);animation-delay:1.5s}.collab-avatars{display:flex}.collab-avatars .avatar{width:36px;height:36px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.8rem;font-weight:600;border:2px solid white;margin-left:-10px;color:#fff}.collab-avatars .avatar:first-child{margin-left:0}.avatar-1{background:linear-gradient(135deg,var(--primary-blue),#1e40af)}.avatar-2{background:linear-gradient(135deg,var(--primary-orange),#f97316)}.avatar-3{background:linear-gradient(135deg,#10b981,#059669)}.collab-info{display:flex;align-items:center;gap:var(--space-sm)}.collab-text{font-size:.9rem;color:var(--gray)}.collab-indicator{width:8px;height:8px;background:var(--success);border-radius:50%;animation:pulse 2s ease-in-out infinite}@keyframes pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(1.2)}}.hero-card-weather{top:65%;right:15%;display:flex;align-items:center;gap:var(--space-sm);padding:var(--space-sm) var(--space-md);font-size:.9rem;font-weight:600;color:var(--dark-blue);animation-delay:.8s}.hero-card-weather svg{color:var(--primary-blue)}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-12px)}}.hero-scroll-indicator{position:absolute;bottom:var(--space-xl);left:50%;transform:translate(-50%);display:flex;flex-direction:column;align-items:center;gap:var(--space-sm);color:var(--gray);font-size:.8rem;opacity:.7;animation:bounce-down 2s ease-in-out infinite}.scroll-mouse{width:24px;height:36px;border:2px solid var(--border);border-radius:12px;position:relative}.scroll-wheel{width:4px;height:8px;background:var(--gray);border-radius:2px;position:absolute;top:6px;left:50%;transform:translate(-50%);animation:scroll-wheel 2s ease-in-out infinite}@keyframes bounce-down{0%,to{transform:translate(-50%) translateY(0)}50%{transform:translate(-50%) translateY(8px)}}@keyframes scroll-wheel{0%,to{opacity:1;top:6px}50%{opacity:.3;top:14px}}.section-header{display:flex;flex-direction:column;align-items:center;text-align:center;margin-bottom:var(--space-2xl)}.section-badge{display:inline-flex;align-items:center;justify-content:center;padding:var(--space-xs) var(--space-md);background:linear-gradient(135deg,#ff8c421f,#ff8c420d);border:1px solid rgba(255,140,66,.15);border-radius:var(--radius-full);color:var(--primary-orange);font-size:.875rem;font-weight:600;margin-bottom:var(--space-md);text-transform:uppercase;letter-spacing:.05em}.section-header h2{font-size:2.75rem;font-weight:800;color:var(--dark-blue);margin:0 0 var(--space-md) 0;letter-spacing:-.02em}.section-header p{font-size:1.2rem;color:var(--gray);max-width:600px;margin:0;line-height:1.6}.features-section{padding:100px 0;background:#fff;position:relative}.features-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--space-xl);max-width:1200px;margin:0 auto}.feature-card{position:relative;text-align:center;padding:var(--space-xl);background:var(--background);border-radius:var(--radius-lg);border:1px solid transparent;transition:all .4s cubic-bezier(.4,0,.2,1);overflow:hidden;display:flex;flex-direction:column;align-items:center}.feature-card:hover{transform:translateY(-8px);box-shadow:0 20px 40px #0000001a;border-color:#ff8c4233;background:#fff}.feature-hover-effect{position:absolute;inset:0;background:linear-gradient(135deg,rgba(255,140,66,.05),transparent);opacity:0;transition:opacity .4s ease;pointer-events:none}.feature-card:hover .feature-hover-effect{opacity:1}.feature-icon{width:72px;height:72px;margin-bottom:var(--space-lg);display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#ff8c4226,#2563eb14);border-radius:var(--radius-md);color:var(--primary-orange);transition:all .4s ease;flex-shrink:0}.feature-card:hover .feature-icon{transform:scale(1.1);background:linear-gradient(135deg,var(--primary-orange),#f97316);color:#fff}.feature-highlight{display:inline-block;padding:4px 12px;background:#2563eb1a;border-radius:var(--radius-full);color:var(--primary-blue);font-size:.75rem;font-weight:600;margin-bottom:var(--space-md);text-transform:uppercase;letter-spacing:.03em;flex-shrink:0}.feature-card h3{font-size:1.25rem;font-weight:700;color:var(--dark-blue);margin-bottom:var(--space-sm);width:100%}.feature-card p{color:var(--gray);line-height:1.7;font-size:.95rem;flex:1;display:flex;align-items:flex-start}.how-it-works-section{padding:100px 0;background:linear-gradient(180deg,var(--background) 0%,white 100%)}.steps-container{position:relative;max-width:1100px;margin:0 auto}.steps-line{display:none}.steps-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-2xl);align-items:stretch}.step-card{position:relative;text-align:center;padding:var(--space-2xl) var(--space-xl);padding-top:calc(var(--space-2xl) + 12px);background:#fff;border-radius:var(--radius-lg);box-shadow:0 10px 40px #00000014;transition:all .4s cubic-bezier(.4,0,.2,1);display:flex;flex-direction:column;align-items:center}.step-card:hover{transform:translateY(-6px);box-shadow:0 20px 50px #0000001f}.step-number{position:absolute;top:-20px;left:50%;transform:translate(-50%);width:48px;height:48px;background:linear-gradient(135deg,var(--primary-orange),#f97316);color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1rem;font-weight:800;box-shadow:0 8px 20px #ff8c4259}.step-icon{width:80px;height:80px;margin:var(--space-md) 0 var(--space-lg) 0;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#ff8c421a,#2563eb14);border-radius:50%;color:var(--primary-orange);transition:all .4s ease;flex-shrink:0}.step-card:hover .step-icon{transform:scale(1.1)}.step-card h3{font-size:1.35rem;font-weight:700;color:var(--dark-blue);margin-bottom:var(--space-sm);width:100%}.step-card p{color:var(--gray);line-height:1.7;flex:1;display:flex;align-items:flex-start;margin:0}.social-proof-section{padding:100px 0;background:#fff}.testimonials-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-xl);margin-bottom:var(--space-2xl)}.testimonial-card{padding:var(--space-xl);background:var(--background);border-radius:var(--radius-lg);border:1px solid var(--border);transition:all .4s cubic-bezier(.4,0,.2,1)}.testimonial-card:hover{transform:translateY(-4px);box-shadow:0 15px 40px #00000014;border-color:#ff8c4233}.testimonial-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:var(--space-md)}.testimonial-stars{display:flex;gap:2px;color:#fbbf24}.testimonial-quote{font-size:3rem;font-weight:800;color:#ff8c4233;line-height:1}.testimonial-text{font-size:1.05rem;color:var(--dark-blue);line-height:1.8;margin-bottom:var(--space-lg)}.testimonial-author{display:flex;align-items:center;gap:var(--space-md);padding-top:var(--space-md);border-top:1px solid var(--border)}.author-avatar{width:48px;height:48px;border-radius:50%;background:linear-gradient(135deg,var(--primary-orange),#f97316);color:#fff;display:flex;align-items:center;justify-content:center;font-size:1.2rem;font-weight:700}.author-info{display:flex;flex-direction:column;gap:4px}.author-name{font-weight:600;color:var(--dark-blue)}.author-trip{display:flex;align-items:center;gap:4px;font-size:.875rem;color:var(--gray)}.trust-badges{display:flex;justify-content:center;gap:var(--space-2xl);padding-top:var(--space-xl);border-top:1px solid var(--border)}.trust-badge{display:flex;align-items:center;gap:var(--space-sm);color:var(--gray);font-weight:500}.cta-section-destinations{position:relative;min-height:500px;display:flex;align-items:center;justify-content:center;overflow:hidden}.destination-backgrounds{position:absolute;inset:0;z-index:0}.destination-bg{position:absolute;inset:0;background-size:cover;background-position:center;opacity:0;transition:opacity 1.2s ease-in-out;transform:scale(1.05)}.destination-bg.active{opacity:1;animation:ken-burns 8s ease-in-out infinite alternate}@keyframes ken-burns{0%{transform:scale(1.05)}to{transform:scale(1.12)}}.destination-overlay{position:absolute;inset:0;background:linear-gradient(to bottom,#0000004d,#00000080,#0009)}.destination-indicators{position:absolute;bottom:30px;left:50%;transform:translate(-50%);display:flex;gap:12px;z-index:10}.indicator{width:10px;height:10px;border-radius:50%;background:#fff6;border:none;cursor:pointer;transition:all .3s ease}.indicator:hover{background:#ffffffb3}.indicator.active{background:#fff;width:28px;border-radius:5px}.cta-destinations-content{position:relative;z-index:5;text-align:center;color:#fff;display:flex;flex-direction:column;align-items:center;gap:var(--space-lg);padding:var(--space-2xl) 0}.destination-label{display:inline-flex;align-items:center;gap:var(--space-sm);padding:var(--space-sm) var(--space-lg);background:#ffffff26;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:var(--radius-full);font-size:.95rem;font-weight:500;border:1px solid rgba(255,255,255,.2)}.destination-name-animated{animation:fade-slide-in .6s ease-out}@keyframes fade-slide-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.adventure-title{font-size:3.5rem;font-weight:800;line-height:1.1;letter-spacing:-.02em;margin:0;color:var(--primary-blue);text-shadow:2px 2px 8px rgba(0,0,0,.5)}.adventure-highlight{display:block;color:var(--primary-orange);text-shadow:2px 2px 8px rgba(0,0,0,.5)}.btn-adventure-cta{display:inline-flex;align-items:center;gap:var(--space-sm);padding:var(--space-md) var(--space-2xl);background:linear-gradient(135deg,var(--primary-orange) 0%,#f97316 100%);color:#fff;border:none;border-radius:var(--radius-md);font-size:1.2rem;font-weight:700;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);box-shadow:0 8px 30px #ff8c4266;margin-top:var(--space-md)}.btn-adventure-cta:hover{transform:translateY(-4px) scale(1.02);box-shadow:0 12px 40px #ff8c4280}.btn-adventure-cta:active{transform:translateY(-2px) scale(1.01)}.cta-trust-row{display:flex;gap:var(--space-xl);font-size:.9rem;opacity:.9;margin-top:var(--space-sm)}.cta-trust-row span{display:flex;align-items:center;gap:6px}@media(max-width:1200px){.features-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:1024px){.hero-container{grid-template-columns:1fr;text-align:center}.hero-content{max-width:100%}.hero-cta,.hero-trust{justify-content:center}.hero-visual,.hero-scroll-indicator{display:none}.steps-container{max-width:500px}.steps-grid{grid-template-columns:1fr;gap:var(--space-xl)}.testimonials-grid{grid-template-columns:1fr}}@media(max-width:768px){.hero-title{font-size:2.75rem}.hero-subtitle{font-size:1.1rem}.hero-cta{flex-direction:column;align-items:center}.btn-hero-primary,.btn-hero-secondary{width:100%;max-width:300px;justify-content:center}.hero-trust{flex-wrap:wrap;gap:var(--space-lg)}.trust-item{flex:0 0 calc(50% - var(--space-lg));text-align:center}.section-header h2{font-size:2rem}.features-grid{grid-template-columns:1fr;max-width:400px;margin:0 auto}.feature-card{width:100%}.adventure-title{font-size:2.5rem}.cta-trust-row{flex-direction:column;gap:var(--space-sm)}.btn-adventure-cta{font-size:1.1rem;padding:var(--space-md) var(--space-xl)}.trust-badges{flex-direction:column;align-items:center;gap:var(--space-md)}.footer-content{flex-direction:column;gap:var(--space-xl);text-align:center}.footer-brand{max-width:100%}.footer-links-grid{width:100%;justify-content:center}}@media(max-width:480px){.hero-title{font-size:2.25rem}.section-header h2{font-size:1.75rem}.step-card,.feature-card,.testimonial-card{padding:var(--space-lg)}.cta-section-destinations{min-height:450px}.adventure-title{font-size:2rem}.destination-label{font-size:.85rem;padding:var(--space-xs) var(--space-md)}.btn-adventure-cta{font-size:1rem;width:100%;max-width:280px;justify-content:center}}.guest-preview-page{min-height:100vh;position:relative}.guest-preview-page.fogged-view{overflow:hidden;height:100vh}.preview-background{position:fixed;inset:0;z-index:0;overflow:hidden}.preview-background .bg-pattern{position:absolute;inset:0;background-image:radial-gradient(circle at 10% 20%,rgba(255,140,66,.06) 0%,transparent 40%),radial-gradient(circle at 90% 80%,rgba(37,99,235,.06) 0%,transparent 40%)}.preview-background .bg-gradient{position:absolute;inset:0;background:linear-gradient(180deg,#fffffff7,#f3f4f6fa)}.loading-wrapper{position:relative;z-index:1;display:flex;align-items:center;justify-content:center;min-height:calc(100vh - 100px);padding:var(--space-xl)}.loading-card{background:var(--white);border-radius:var(--radius-lg);padding:var(--space-2xl) var(--space-xl);max-width:440px;width:100%;text-align:center;box-shadow:0 4px 6px #0000000d,0 10px 40px #0000001a}.loading-globe{width:120px;height:120px;margin:0 auto var(--space-xl);position:relative}.globe-outer{width:100%;height:100%;border-radius:50%;background:linear-gradient(135deg,#ff8c421a,#2563eb1a);display:flex;align-items:center;justify-content:center;animation:globePulse 2s ease-in-out infinite;position:relative}.globe-outer:before{content:"";position:absolute;inset:8px;border-radius:50%;border:2px dashed rgba(255,140,66,.3);animation:rotateDash 10s linear infinite}.globe-inner{width:80px;height:80px;border-radius:50%;background:linear-gradient(135deg,var(--primary-orange),#f57c00);display:flex;align-items:center;justify-content:center;color:var(--white);position:relative}.globe-plane{animation:planeFly 3s ease-in-out infinite}@keyframes globePulse{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}@keyframes planeFly{0%,to{transform:translate(0) rotate(-45deg)}50%{transform:translate(5px) rotate(-35deg)}}.loading-card h2{font-size:1.5rem;color:var(--dark-blue);margin-bottom:var(--space-md)}.loading-destination{display:inline-flex;align-items:center;gap:var(--space-sm);padding:var(--space-sm) var(--space-lg);background:linear-gradient(135deg,#ff8c421a,#ff8c420d);border-radius:var(--radius-full);color:var(--primary-orange);font-weight:600;margin-bottom:var(--space-xl)}.loading-progress{margin-bottom:var(--space-xl)}.progress-track{height:8px;background:var(--light-gray);border-radius:var(--radius-full);overflow:hidden}.progress-fill{height:100%;background:linear-gradient(90deg,var(--primary-orange),#f57c00);border-radius:var(--radius-full);transition:width .5s ease}.phase-list{display:flex;flex-direction:column;gap:var(--space-sm);margin-bottom:var(--space-xl)}.phase-item{display:flex;align-items:center;gap:var(--space-md);padding:var(--space-sm) var(--space-md);border-radius:var(--radius-md);transition:all .3s ease}.phase-item.active{background:linear-gradient(135deg,#ff8c4214,#ff8c4205)}.phase-item.completed{color:var(--gray)}.phase-icon{width:32px;height:32px;border-radius:50%;background:var(--light-gray);display:flex;align-items:center;justify-content:center;color:var(--gray);transition:all .3s ease}.phase-item.active .phase-icon{background:var(--primary-orange);color:var(--white)}.phase-item.completed .phase-icon{background:var(--success);color:var(--white)}.phase-item span{font-size:.95rem;color:var(--gray)}.phase-item.active span{color:var(--dark-blue);font-weight:600}.spinning{animation:spin 1s linear infinite}.loading-tip{color:var(--gray);font-size:.85rem;margin:0}.error-wrapper{position:relative;z-index:1;display:flex;align-items:center;justify-content:center;min-height:calc(100vh - 100px);padding:var(--space-xl)}.error-card{background:var(--white);border-radius:var(--radius-lg);padding:var(--space-2xl);max-width:400px;width:100%;text-align:center;box-shadow:0 10px 40px #0000001a}.error-icon{width:72px;height:72px;margin:0 auto var(--space-xl);display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#fef2f2,#fee2e2);color:#dc2626;border-radius:50%;font-size:2rem;font-weight:700}.error-card h2{color:var(--dark-blue);margin-bottom:var(--space-md)}.error-card p{color:var(--gray);margin-bottom:var(--space-xl)}.error-btn{display:inline-flex;align-items:center;gap:var(--space-sm);padding:var(--space-md) var(--space-xl);background:linear-gradient(135deg,var(--primary-orange),#f57c00);color:var(--white);border:none;border-radius:var(--radius-md);font-weight:600;cursor:pointer;transition:all .2s ease}.error-btn:hover{transform:translateY(-2px);box-shadow:0 4px 12px #ff8c424d}.fogged-itinerary-container{position:relative;z-index:1;height:calc(100vh - 72px);overflow:hidden}.fog-overlay{position:fixed;inset:60px 0 0;background:linear-gradient(180deg,#fff0,#fff9 15%,#ffffffd9 40%,#fffffff2,#fff);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);pointer-events:none;z-index:10}.auth-prompt-overlay{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);z-index:100;width:100%;max-width:460px;padding:0 20px}.auth-prompt-card{background:#fff;border-radius:20px;padding:40px 32px;box-shadow:0 25px 50px -12px #00000040,0 0 0 1px #0000000d;text-align:center;animation:slideUp .4s ease}.auth-prompt-card .prompt-icon{width:64px;height:64px;background:linear-gradient(135deg,#ff6b35,#f7931e);border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto 20px;color:#fff}.auth-prompt-card h2{font-size:1.75rem;font-weight:700;color:#1a1a2e;margin:0 0 12px}.auth-prompt-card>p{font-size:1rem;color:#64748b;margin:0 0 24px;line-height:1.5}.prompt-benefits{text-align:left;margin-bottom:28px}.prompt-benefits .benefit{display:flex;align-items:center;gap:10px;padding:8px 0;color:#334155;font-size:.95rem}.prompt-benefits .benefit svg{color:#22c55e;flex-shrink:0}.prompt-actions{display:flex;flex-direction:column;gap:12px;margin-bottom:24px}.prompt-actions .btn-primary{background:linear-gradient(135deg,#ff6b35,#f7931e);color:#fff;border:none;padding:14px 24px;border-radius:12px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center;gap:8px}.prompt-actions .btn-primary:hover{transform:translateY(-2px);box-shadow:0 8px 20px #ff6b354d}.prompt-actions .btn-secondary{background:transparent;color:#64748b;border:none;padding:12px;font-size:.9rem;cursor:pointer;transition:color .2s ease}.prompt-actions .btn-secondary:hover{color:#ff6b35}.prompt-trust{display:flex;justify-content:center;gap:var(--space-lg);padding-top:var(--space-md);border-top:1px solid var(--border)}.trust-badge{display:flex;align-items:center;gap:var(--space-xs);color:var(--gray);font-size:.8rem}.trust-badge svg{color:var(--primary-blue)}.preview-content{position:relative;z-index:1;max-width:900px;margin:0 auto;padding:var(--space-xl) var(--space-lg)}.preview-hero{background:var(--white);border-radius:var(--radius-lg);padding:var(--space-2xl);margin-bottom:var(--space-xl);box-shadow:0 4px 6px #0000000d,0 10px 40px #00000014;text-align:center}.hero-badge{display:inline-flex;align-items:center;gap:var(--space-sm);padding:var(--space-sm) var(--space-md);background:linear-gradient(135deg,#ff8c421f,#ff8c420a);border-radius:var(--radius-full);color:var(--primary-orange);font-size:.85rem;font-weight:600;margin-bottom:var(--space-lg)}.preview-hero h1{font-size:2.5rem;color:var(--dark-blue);margin-bottom:var(--space-lg);line-height:1.2}.hero-meta{display:flex;flex-wrap:wrap;justify-content:center;gap:var(--space-md);margin-bottom:var(--space-lg)}.meta-pill{display:inline-flex;align-items:center;gap:var(--space-sm);padding:var(--space-sm) var(--space-md);background:var(--background);border-radius:var(--radius-full);color:var(--gray);font-size:.9rem}.meta-pill svg{color:var(--primary-orange)}.meta-pill.highlight{background:linear-gradient(135deg,#2563eb1a,#2563eb0d);color:var(--primary-blue)}.meta-pill.highlight svg{color:var(--primary-blue)}.hero-summary{color:var(--text-primary);font-size:1.05rem;line-height:1.7;max-width:600px;margin:0 auto}.preferences-summary{background:var(--white);border-radius:var(--radius-lg);padding:var(--space-xl);margin-bottom:var(--space-xl);box-shadow:0 2px 8px #0000000f;border:1px solid var(--border)}.preferences-summary h3{font-size:1.1rem;color:var(--dark-blue);margin-bottom:var(--space-lg)}.preferences-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-md)}.preference-item{display:flex;flex-direction:column;gap:var(--space-xs)}.preference-item.full-width{grid-column:1 / -1}.preference-label{font-size:.8rem;color:var(--gray);text-transform:uppercase;letter-spacing:.5px}.preference-value{font-size:.95rem;color:var(--dark-blue);font-weight:500}.itinerary-section{margin-bottom:var(--space-xl)}.itinerary-section h2{font-size:1.25rem;color:var(--dark-blue);margin-bottom:var(--space-lg)}.section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-lg)}.section-header h2{font-size:1.5rem;color:var(--dark-blue);margin:0}.days-list{display:flex;flex-direction:column;gap:var(--space-lg)}.day-card{background:var(--white);border-radius:var(--radius-lg);padding:var(--space-xl);box-shadow:0 2px 8px #0000000f;border:1px solid var(--border);position:relative;overflow:hidden;transition:all .3s ease}.day-header{display:flex;align-items:center;gap:var(--space-md);margin-bottom:var(--space-lg);padding-bottom:var(--space-md);border-bottom:1px solid var(--border)}.day-number-badge{display:flex;flex-direction:column}.day-num{font-size:1.2rem;font-weight:700;color:var(--dark-blue)}.day-date{font-size:.85rem;color:var(--gray)}.day-theme{margin-left:auto;padding:var(--space-xs) var(--space-md);background:linear-gradient(135deg,#2563eb14,#2563eb05);border-radius:var(--radius-full);color:var(--primary-blue);font-size:.8rem;font-weight:500}.placeholder-card{opacity:.7}.placeholder-activities{display:flex;flex-direction:column;gap:var(--space-md);padding:var(--space-md) 0}.placeholder-line{height:16px;background:linear-gradient(90deg,var(--light-gray) 0%,rgba(229,231,235,.5) 50%,var(--light-gray) 100%);background-size:200% 100%;border-radius:var(--radius-sm);animation:shimmer 1.5s ease-in-out infinite}.placeholder-line.short{width:60%}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.day-activities{position:relative}.activity-item{display:flex;gap:var(--space-md);position:relative}.activity-timeline{display:flex;flex-direction:column;align-items:center;width:20px;flex-shrink:0}.timeline-dot{width:12px;height:12px;border-radius:50%;background:var(--primary-orange);border:2px solid var(--white);box-shadow:0 0 0 2px #ff8c4233;z-index:1}.timeline-line{flex:1;width:2px;background:linear-gradient(180deg,var(--primary-orange),var(--border));margin-top:var(--space-xs)}.activity-card{flex:1;background:var(--background);border-radius:var(--radius-md);padding:var(--space-md);margin-bottom:var(--space-md);border:1px solid transparent;transition:all .2s ease}.activity-time{display:flex;align-items:center;gap:var(--space-xs);color:var(--gray);font-size:.8rem;text-transform:capitalize;margin-bottom:var(--space-sm)}.activity-time svg{color:var(--primary-orange)}.activity-category{display:inline-flex;align-items:center;gap:var(--space-xs);padding:2px var(--space-sm);background:linear-gradient(135deg,#2563eb1a,#2563eb0d);color:var(--primary-blue);font-size:.7rem;font-weight:600;text-transform:capitalize;border-radius:var(--radius-sm);margin-bottom:var(--space-xs)}.activity-name{color:var(--dark-blue);font-size:1rem;font-weight:600;margin-bottom:var(--space-xs)}.activity-desc{color:var(--gray);font-size:.9rem;line-height:1.5;margin-bottom:var(--space-sm)}.activity-cost{display:inline-flex;align-items:center;gap:var(--space-xs);color:var(--gray);font-size:.85rem}.activity-cost svg{color:var(--primary-orange)}@media(max-width:640px){.auth-prompt-overlay{padding:0 16px}.auth-prompt-card{padding:28px 20px;border-radius:16px}.auth-prompt-card h2{font-size:1.5rem}.fog-overlay{background:linear-gradient(180deg,#fff0,#ffffffb3 10%,#ffffffe6 30%,#fff 60%)}.prompt-trust{flex-wrap:wrap;gap:var(--space-md)}}@media(max-width:768px){.preview-content{padding:var(--space-md)}.preview-hero{padding:var(--space-xl) var(--space-lg)}.preview-hero h1{font-size:1.75rem}.hero-meta{flex-direction:column;align-items:center}.section-header{flex-direction:column;align-items:flex-start;gap:var(--space-sm)}.day-card{padding:var(--space-lg)}.day-header{flex-wrap:wrap}.day-theme{margin-left:0;margin-top:var(--space-sm)}}@media(max-width:480px){.loading-card{padding:var(--space-xl) var(--space-lg)}.loading-globe{width:100px;height:100px}.globe-inner{width:64px;height:64px}.phase-item span{font-size:.85rem}}.guest-wizard-page{min-height:100vh;position:relative;overflow-x:hidden}.guest-wizard-page .app-footer{position:relative;z-index:1}.wizard-background{position:fixed;inset:0;z-index:0;overflow:hidden}.bg-pattern{position:absolute;inset:0;background-image:radial-gradient(circle at 20% 80%,rgba(255,140,66,.08) 0%,transparent 50%),radial-gradient(circle at 80% 20%,rgba(37,99,235,.08) 0%,transparent 50%),radial-gradient(circle at 40% 40%,rgba(255,140,66,.05) 0%,transparent 30%),radial-gradient(circle at 60% 60%,rgba(37,99,235,.05) 0%,transparent 30%);animation:bgFloat 20s ease-in-out infinite}.bg-gradient{position:absolute;inset:0;background:linear-gradient(180deg,#f1f3f5f7,#ebeef1fa,#f1f3f5f7)}@keyframes bgFloat{0%,to{transform:scale(1) translateY(0)}50%{transform:scale(1.05) translateY(-10px)}}.wizard-wrapper{position:relative;z-index:1;display:flex;justify-content:center;align-items:flex-start;min-height:calc(100vh - 80px);padding:var(--space-xl) var(--space-lg);padding-top:var(--space-2xl)}.wizard-container{width:100%;max-width:680px;background:var(--white);border-radius:var(--radius-lg);box-shadow:0 4px 6px #00000012,0 10px 40px #0000001f,0 0 0 1px #00000008;overflow:hidden}.wizard-progress{padding:var(--space-md) var(--space-xl);background:var(--white);border-bottom:1px solid var(--border);box-shadow:0 2px 8px #0000000a}.progress-steps{display:flex;justify-content:center;align-items:center}.progress-step{display:flex;align-items:center}.step-icon-label{display:flex;flex-direction:column;align-items:center;width:90px}.step-circle{width:40px;height:40px;border-radius:50%;background:var(--white);border:2px solid var(--border);display:flex;align-items:center;justify-content:center;color:var(--gray);transition:all .3s ease}.progress-step.active .step-circle{border-color:var(--primary-orange);background:linear-gradient(135deg,var(--primary-orange),#f57c00);color:var(--white);box-shadow:0 4px 12px #ff8c424d}.progress-step.completed .step-circle{border-color:var(--primary-orange);background:var(--primary-orange);color:var(--white)}.step-title{margin-top:6px;font-size:.75rem;font-weight:600;color:var(--gray);white-space:nowrap;transition:color .3s ease;text-align:center}.progress-step.active .step-title{color:var(--primary-orange)}.progress-step.completed .step-title{color:var(--dark-blue)}.step-connector{display:none}.progress-step.completed .step-connector{background:var(--primary-orange)}.wizard-error{margin:var(--space-md) var(--space-xl);padding:var(--space-md) var(--space-lg);background:linear-gradient(135deg,#fef2f2,#fee2e2);border:1px solid #fecaca;border-radius:var(--radius-md);color:#b91c1c;font-size:.95rem;font-weight:500}.wizard-content{padding:var(--space-2xl) var(--space-xl);min-height:400px}.wizard-step,.step-enter{animation:stepEnter .3s ease-out forwards}.step-exit{animation:stepExit .2s ease-in forwards}@keyframes stepEnter{0%{opacity:0;transform:translate(20px)}to{opacity:1;transform:translate(0)}}@keyframes stepExit{0%{opacity:1;transform:translate(0)}to{opacity:0;transform:translate(-20px)}}.step-header{text-align:center;margin-bottom:var(--space-2xl)}.step-icon-wrapper{width:80px;height:80px;margin:0 auto var(--space-lg);display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#ff8c421f,#ff8c420a);border-radius:50%;color:var(--primary-orange);position:relative}.step-icon-wrapper:after{content:"";position:absolute;inset:-4px;border-radius:50%;border:2px dashed rgba(255,140,66,.2);animation:rotateDash 20s linear infinite}@keyframes rotateDash{to{transform:rotate(360deg)}}.step-header h2{font-size:1.75rem;font-weight:700;color:var(--dark-blue);margin-bottom:var(--space-xs)}.step-header p{color:var(--gray);font-size:1.05rem;margin:0}.form-section{margin-bottom:var(--space-xl)}.form-label{display:flex;align-items:center;gap:var(--space-sm);font-size:1rem;font-weight:600;color:var(--dark-blue);margin-bottom:var(--space-md)}.form-label svg{color:var(--primary-orange)}.wizard-input{width:100%;padding:var(--space-md) var(--space-lg);border:2px solid var(--border);border-radius:var(--radius-md);font-size:1rem;color:var(--text-primary);background:var(--white);transition:all .2s ease}.wizard-input:focus{outline:none;border-color:var(--primary-orange);box-shadow:0 0 0 4px #ff8c421a}.wizard-input::placeholder{color:var(--gray)}.destination-toggle{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-md);margin-bottom:var(--space-md)}.toggle-option{display:flex;align-items:center;gap:var(--space-md);padding:var(--space-lg);background:var(--white);border:2px solid var(--border);border-radius:var(--radius-md);cursor:pointer;transition:all .2s ease;text-align:left;position:relative}.toggle-option:hover{border-color:var(--primary-orange);background:#ff8c4205}.toggle-option.active{border-color:var(--primary-orange);background:linear-gradient(135deg,#ff8c4214,#ff8c4205)}.toggle-icon{font-size:1.75rem;flex-shrink:0}.toggle-content{display:flex;flex-direction:column;gap:2px}.toggle-title{font-weight:600;color:var(--dark-blue);font-size:.95rem}.toggle-desc{font-size:.8rem;color:var(--gray)}.toggle-check{position:absolute;top:var(--space-sm);right:var(--space-sm);color:var(--primary-orange)}.destination-input-wrapper{animation:slideDown .2s ease-out}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.destination-input{margin-top:var(--space-sm)}.surprise-banner{display:flex;align-items:center;gap:var(--space-md);padding:var(--space-lg);background:linear-gradient(135deg,#ff8c421a,#ff8c420a);border-radius:var(--radius-md);color:var(--primary-orange);font-size:.95rem;font-weight:500;margin-top:var(--space-sm);animation:slideDown .2s ease-out}.surprise-banner svg{flex-shrink:0}.dates-container{display:flex;align-items:center;justify-content:center;gap:var(--space-md);margin-bottom:var(--space-xl)}.date-card{flex:1;max-width:200px}.date-label{display:block;font-size:.85rem;font-weight:600;color:var(--gray);margin-bottom:var(--space-sm);text-align:center}.date-input{width:100%;padding:var(--space-md);border:2px solid var(--border);border-radius:var(--radius-md);font-size:1rem;text-align:center;cursor:pointer;transition:all .2s ease;background:var(--white)}.date-input:focus{outline:none;border-color:var(--primary-orange);box-shadow:0 0 0 4px #ff8c421a}.date-divider{color:var(--gray);padding:var(--space-md) 0}.duration-display{display:flex;align-items:center;justify-content:center;gap:var(--space-lg);padding:var(--space-xl);background:linear-gradient(135deg,#2563eb14,#2563eb05);border-radius:var(--radius-lg);border:1px solid rgba(37,99,235,.1)}.duration-number{font-size:3rem;font-weight:800;color:var(--primary-blue);line-height:1}.duration-text{display:flex;flex-direction:column;gap:4px}.duration-label{font-size:1.1rem;font-weight:600;color:var(--dark-blue)}.duration-dates{font-size:.9rem;color:var(--gray)}.preference-section{margin-bottom:var(--space-xl)}.preference-title{font-size:1rem;font-weight:600;color:var(--dark-blue);margin-bottom:var(--space-md)}.preference-hint{font-weight:400;color:var(--gray);font-size:.9rem}.option-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-md)}.option-card{display:flex;flex-direction:column;align-items:center;gap:var(--space-xs);padding:var(--space-lg) var(--space-md);background:var(--white);border:2px solid var(--border);border-radius:var(--radius-md);cursor:pointer;transition:all .2s ease;text-align:center;position:relative}.option-card:hover{border-color:var(--primary-orange);transform:translateY(-2px)}.option-card.selected{border-color:var(--primary-orange);background:linear-gradient(135deg,#ff8c4214,#ff8c4205)}.option-icon{font-size:2rem}.option-label{font-weight:600;color:var(--dark-blue);font-size:.9rem}.option-desc{font-size:.75rem;color:var(--gray)}.option-check{position:absolute;top:var(--space-sm);right:var(--space-sm);width:24px;height:24px;background:var(--primary-orange);border-radius:50%;display:flex;align-items:center;justify-content:center;color:var(--white)}.interest-grid{display:flex;flex-wrap:wrap;gap:var(--space-sm)}.interest-tag{display:flex;align-items:center;gap:var(--space-sm);padding:var(--space-sm) var(--space-md);background:var(--white);border:2px solid var(--border);border-radius:var(--radius-full);cursor:pointer;font-size:.9rem;color:var(--dark-blue);transition:all .2s ease}.interest-tag:hover{border-color:var(--primary-orange)}.interest-tag.selected{border-color:var(--primary-orange);background:linear-gradient(135deg,#ff8c421a,#ff8c4205);color:var(--primary-orange)}.interest-icon{font-size:1.1rem}.ready-banner{margin-top:0;padding:var(--space-lg) var(--space-md);background:linear-gradient(135deg,#2563eb14,#2563eb05);border:2px solid rgba(37,99,235,.15);border-radius:var(--radius-md);width:100%}.ready-content{display:flex;align-items:center;justify-content:center;gap:var(--space-md)}.ready-content svg{color:var(--primary-blue);flex-shrink:0}.ready-content span{color:var(--dark-blue);font-size:.95rem;font-weight:500}.wizard-footer{display:flex;justify-content:space-between;align-items:center;padding:var(--space-lg) var(--space-xl);background:linear-gradient(135deg,#fafbfc,#f3f4f6);border-top:1px solid var(--border)}.nav-btn{display:flex;align-items:center;gap:var(--space-sm);padding:var(--space-md) var(--space-xl);border-radius:var(--radius-md);font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s ease;border:none}.nav-btn-back{background:transparent;color:var(--gray);border:2px solid var(--border)}.nav-btn-back:hover{border-color:var(--dark-blue);color:var(--dark-blue)}.nav-btn-next{background:linear-gradient(135deg,var(--primary-blue),#1e40af);color:var(--white)}.nav-btn-next:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 4px 12px #2563eb4d}.nav-btn-next:disabled{opacity:.5;cursor:not-allowed}.nav-btn-generate{background:linear-gradient(135deg,var(--primary-orange),#f57c00);color:var(--white);padding:var(--space-md) var(--space-2xl)}.nav-btn-generate:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 4px 16px #ff8c4266}.nav-btn-generate:disabled{opacity:.7;cursor:not-allowed}.btn-spinner{width:20px;height:20px;border:2px solid rgba(255,255,255,.3);border-top-color:var(--white);border-radius:50%;animation:spin .8s linear infinite}@media(max-width:768px){.wizard-wrapper{padding:var(--space-md);padding-top:var(--space-lg)}.wizard-container{border-radius:var(--radius-md)}.wizard-progress{padding:var(--space-md)}.step-connector{width:20px;margin-top:19px}.step-title{font-size:.65rem}.step-icon-label{width:75px}.wizard-progress{padding:var(--space-sm) var(--space-md)}.wizard-content{padding:var(--space-xl) var(--space-lg)}.step-header h2{font-size:1.5rem}.destination-toggle{grid-template-columns:1fr}.dates-container{flex-direction:column;gap:var(--space-lg)}.date-card{max-width:100%;width:100%}.date-divider{transform:rotate(90deg);padding:var(--space-sm)}.duration-display{flex-direction:column;text-align:center}.option-cards{grid-template-columns:1fr}.wizard-footer{padding:var(--space-md)}.nav-btn{padding:var(--space-sm) var(--space-md);font-size:.9rem}.nav-btn-generate{padding:var(--space-sm) var(--space-lg)}}@media(max-width:480px){.step-circle{width:36px;height:36px}.step-connector{width:16px;margin-top:17px}.step-title{display:none}.step-icon-label{width:auto}.wizard-progress{padding:var(--space-sm)}.step-icon-wrapper{width:64px;height:64px}.duration-number{font-size:2.5rem}.trust-badges{justify-content:center}}.invitation-container{min-height:100vh;display:flex;justify-content:center;align-items:center;padding:var(--space-lg);position:relative;overflow:hidden;background:linear-gradient(135deg,#1a1a2e,#16213e,#0f3460 50%,#1a1a2e)}.invitation-container:before{content:"";position:absolute;top:0;left:0;width:100%;height:100%;background-image:radial-gradient(circle at 20% 80%,rgba(255,140,66,.1) 0%,transparent 50%),radial-gradient(circle at 80% 20%,rgba(37,99,235,.1) 0%,transparent 50%),radial-gradient(circle at 40% 40%,rgba(255,140,66,.05) 0%,transparent 30%),radial-gradient(circle at 60% 60%,rgba(37,99,235,.05) 0%,transparent 30%);z-index:1;pointer-events:none}.invitation-container:after{content:"";position:absolute;top:0;left:0;width:100%;height:100%;background-image:radial-gradient(2px 2px at 10% 10%,rgba(255,255,255,.3) 50%,transparent 50%),radial-gradient(2px 2px at 30% 60%,rgba(255,255,255,.2) 50%,transparent 50%),radial-gradient(1px 1px at 50% 30%,rgba(255,255,255,.4) 50%,transparent 50%),radial-gradient(2px 2px at 70% 80%,rgba(255,255,255,.2) 50%,transparent 50%),radial-gradient(1px 1px at 90% 40%,rgba(255,255,255,.3) 50%,transparent 50%),radial-gradient(2px 2px at 15% 90%,rgba(255,255,255,.2) 50%,transparent 50%),radial-gradient(1px 1px at 85% 15%,rgba(255,255,255,.4) 50%,transparent 50%),radial-gradient(2px 2px at 45% 75%,rgba(255,255,255,.15) 50%,transparent 50%);z-index:1;pointer-events:none;animation:twinkle 8s ease-in-out infinite}@keyframes twinkle{0%,to{opacity:1}50%{opacity:.7}}.invitation-card{background:var(--white);border-radius:var(--radius-lg);box-shadow:0 25px 50px -12px #00000040,0 0 0 1px #ffffff1a;padding:var(--space-2xl);max-width:520px;width:100%;position:relative;z-index:10;animation:slideUp .6s ease-out}@keyframes slideUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.invitation-header{text-align:center;margin-bottom:var(--space-xl)}.invitation-logo{display:flex;justify-content:center;margin-bottom:var(--space-md)}.invitation-logo-image{height:80px;width:auto;filter:drop-shadow(0 8px 20px rgba(255,140,66,.25));animation:fadeInScale .6s ease-out}@keyframes fadeInScale{0%{opacity:0;transform:scale(.85)}to{opacity:1;transform:scale(1)}}.invitation-badge{display:inline-flex;align-items:center;gap:var(--space-xs);padding:var(--space-xs) var(--space-md);background:linear-gradient(135deg,#ff8c4226,#ff8c4214);border-radius:var(--radius-full);color:var(--primary-orange);font-weight:600;font-size:.9rem}.invitation-content{margin-bottom:var(--space-xl)}.invitation-title{font-size:1.5rem;font-weight:700;color:var(--dark-blue);text-align:center;margin-bottom:var(--space-xl);line-height:1.3}.trip-preview{background:linear-gradient(135deg,var(--off-white),var(--background));border-radius:var(--radius-md);padding:var(--space-lg);border:1px solid var(--border)}.trip-name{font-size:1.5rem;font-weight:700;color:var(--dark-blue);margin-bottom:var(--space-lg);padding-bottom:var(--space-md);border-bottom:2px solid var(--light-gray)}.trip-details{display:flex;flex-direction:column;gap:var(--space-md)}.trip-detail{display:flex;align-items:center;gap:var(--space-sm);color:var(--dark-gray);font-size:1rem}.trip-detail svg{color:var(--primary-orange);flex-shrink:0}.personal-message{margin-top:var(--space-lg);padding:var(--space-md);background:#ff8c4214;border-radius:var(--radius);border-left:4px solid var(--primary-orange)}.message-header{display:flex;align-items:center;gap:var(--space-xs);color:var(--primary-orange);font-weight:600;font-size:.9rem;margin-bottom:var(--space-sm)}.personal-message p{color:var(--dark-blue);font-style:italic;margin:0;line-height:1.6}.expiration-notice{display:flex;align-items:center;gap:var(--space-xs);margin-top:var(--space-md);padding-top:var(--space-md);border-top:1px dashed var(--border);color:var(--gray);font-size:.875rem}.expiration-notice svg{color:var(--gray);flex-shrink:0}.invitation-actions{text-align:center}.btn-large{padding:var(--space-md) var(--space-xl);font-size:1.1rem;width:100%;justify-content:center}.action-buttons{display:flex;gap:var(--space-md);margin-bottom:var(--space-md)}.action-buttons .btn{flex:1}.btn-decline{background:transparent;border:2px solid var(--light-gray);color:var(--gray)}.btn-decline:hover:not(:disabled){border-color:var(--danger);color:var(--danger);background:#dc35450d}.signin-prompt{margin-top:var(--space-md);color:var(--gray);font-size:.95rem}.link-button{background:none;border:none;color:var(--primary-orange);font-weight:600;cursor:pointer;padding:0;font-size:inherit;text-decoration:underline;transition:color .2s ease}.link-button:hover{color:var(--light-orange)}.link-button:focus-visible{outline:2px solid var(--primary-orange);outline-offset:2px;border-radius:var(--radius-sm)}.invitation-loading{text-align:center;padding:var(--space-2xl) 0}.spinner-large{width:48px;height:48px;border:4px solid var(--light-gray);border-top-color:var(--primary-orange);border-radius:50%;animation:spin .8s linear infinite;margin:0 auto var(--space-lg)}@keyframes spin{to{transform:rotate(360deg)}}.invitation-loading p{color:var(--gray);font-size:1rem}.invitation-card-error{text-align:center}.invitation-error{padding:var(--space-xl) 0}.error-icon{color:var(--danger);margin-bottom:var(--space-lg)}.error-icon svg{stroke-width:1.5}.invitation-error h2{font-size:1.5rem;font-weight:700;color:var(--dark-blue);margin-bottom:var(--space-md)}.invitation-error p{color:var(--gray);line-height:1.6;margin-bottom:var(--space-xl)}.error-actions{display:flex;gap:var(--space-md);justify-content:center;flex-wrap:wrap}.error-actions .btn{min-width:140px}.invitation-card-success{text-align:center}.invitation-success{padding:var(--space-xl) 0}.success-icon{color:var(--success);margin-bottom:var(--space-lg);animation:bounceIn .5s ease-out}.success-icon svg{stroke-width:1.5}@keyframes bounceIn{0%{transform:scale(0)}50%{transform:scale(1.2)}to{transform:scale(1)}}.invitation-success h2{font-size:1.75rem;font-weight:700;color:var(--dark-blue);margin-bottom:var(--space-md)}.invitation-success p{color:var(--gray);margin-bottom:0}.invitation-background{position:absolute;top:0;left:0;width:100%;height:100%;overflow:hidden;z-index:2;pointer-events:none}.invitation-background .background-circle{position:absolute;border-radius:50%;animation:float 20s infinite ease-in-out}.invitation-background .circle-1{width:500px;height:500px;background:linear-gradient(135deg,#ff8c4226,#ff8c420d);top:-250px;left:-250px;animation-delay:0s}.invitation-background .circle-2{width:700px;height:700px;background:linear-gradient(135deg,#2563eb1a,#2563eb08);bottom:-350px;right:-350px;animation-delay:5s}.invitation-background .circle-3{width:350px;height:350px;background:linear-gradient(135deg,#ff8c421f,#ff8c420a);top:40%;right:-175px;animation-delay:10s}@keyframes float{0%,to{transform:translate(0) scale(1)}25%{transform:translate(20px,-30px) scale(1.05)}50%{transform:translate(50px,20px) scale(1.1)}75%{transform:translate(20px,40px) scale(1.05)}}@media(max-width:768px){.invitation-container{padding:var(--space-md);align-items:flex-start;padding-top:var(--space-2xl)}.invitation-card{padding:var(--space-xl);border-radius:var(--radius-md)}.invitation-logo-image{height:60px}.invitation-title,.trip-name{font-size:1.25rem}.trip-detail{font-size:.95rem}.error-actions{flex-direction:column;align-items:center}.error-actions .btn{width:100%}.action-buttons{flex-direction:column}.invitation-background .circle-1{width:300px;height:300px;top:-150px;left:-150px}.invitation-background .circle-2{width:400px;height:400px;bottom:-200px;right:-200px}.invitation-background .circle-3{display:none}}@media(max-width:480px){.invitation-container{padding:var(--space-sm);padding-top:var(--space-lg)}.invitation-card{padding:var(--space-lg)}.trip-preview{padding:var(--space-md)}.btn-large{padding:var(--space-sm) var(--space-lg);font-size:1rem}}.invitation-actions button:focus-visible,.error-actions a:focus-visible{outline:2px solid var(--primary-orange);outline-offset:2px}.authenticated-layout{display:flex;flex-direction:column;min-height:100vh}.authenticated-content{flex:1;display:flex;flex-direction:column}*{margin:0;padding:0;box-sizing:border-box}:root{--primary-orange: #FF8C42;--primary-blue: #2563EB;--dark-blue: #1E40AF;--light-orange: #FFB380;--light-blue: #60A5FA;--accent-orange: #FB923C;--accent-blue: #3B82F6;--orange-50: #FFF7ED;--orange-100: #FFEDD5;--orange-200: #FED7AA;--orange-300: #FDBA74;--orange-400: #FB923C;--orange-500: #FF8C42;--orange-600: #EA580C;--orange-700: #C2410C;--orange-800: #9A3412;--orange-900: #7C2D12;--blue-50: #EFF6FF;--blue-100: #DBEAFE;--blue-200: #BFDBFE;--blue-300: #93C5FD;--blue-400: #60A5FA;--blue-500: #3B82F6;--blue-600: #2563EB;--blue-700: #1D4ED8;--blue-800: #1E40AF;--blue-900: #1E3A8A;--white: #FFFFFF;--off-white: #F9FAFB;--background: #F3F4F6;--light-gray: #E5E7EB;--border: #D1D5DB;--gray: #6B7280;--dark-gray: #374151;--text-primary: #111827;--text-secondary: #6B7280;--text-muted: #9CA3AF;--black: #111827;--surface-ground: #F3F4F6;--surface-card: #FFFFFF;--surface-overlay: #FFFFFF;--surface-elevated: #FFFFFF;--surface-sunken: #E5E7EB;--surface-interactive: #F9FAFB;--surface-interactive-hover: #F3F4F6;--success: #28A745;--warning: #FFC107;--danger: #DC3545;--info: #17A2B8;--success-light: #D1FAE5;--success-dark: #065F46;--warning-light: #FEF3C7;--warning-dark: #92400E;--danger-light: #FEE2E2;--danger-dark: #991B1B;--info-light: #DBEAFE;--info-dark: #1E40AF;--status-confirmed: #10B981;--status-confirmed-bg: #D1FAE5;--status-pending: #F59E0B;--status-pending-bg: #FEF3C7;--status-cancelled: #EF4444;--status-cancelled-bg: #FEE2E2;--status-in-progress: #3B82F6;--status-in-progress-bg: #DBEAFE;--status-completed: #8B5CF6;--status-completed-bg: #EDE9FE;--status-draft: #6B7280;--status-draft-bg: #F3F4F6;--overlay-light: rgba(255, 255, 255, .8);--overlay-medium: rgba(255, 255, 255, .6);--overlay-dark: rgba(17, 24, 39, .5);--overlay-darker: rgba(17, 24, 39, .75);--overlay-orange: rgba(255, 140, 66, .15);--overlay-blue: rgba(37, 99, 235, .15);--overlay-image: linear-gradient(to top, rgba(17, 24, 39, .8) 0%, rgba(17, 24, 39, .4) 50%, transparent 100%);--overlay-image-hover: linear-gradient(to top, rgba(255, 140, 66, .9) 0%, rgba(255, 140, 66, .5) 50%, transparent 100%);--gradient-orange: linear-gradient(135deg, var(--primary-orange) 0%, var(--light-orange) 100%);--gradient-blue: linear-gradient(135deg, var(--primary-blue) 0%, var(--light-blue) 100%);--gradient-sunset: linear-gradient(135deg, #FF8C42 0%, #FF6B6B 50%, #FFB380 100%);--gradient-ocean: linear-gradient(135deg, #1E40AF 0%, #2563EB 50%, #60A5FA 100%);--gradient-adventure: linear-gradient(135deg, var(--primary-orange) 0%, var(--primary-blue) 100%);--gradient-hero: linear-gradient(180deg, rgba(255, 140, 66, .1) 0%, rgba(37, 99, 235, .05) 100%);--gradient-hero-dark: linear-gradient(180deg, rgba(30, 64, 175, .95) 0%, rgba(17, 24, 39, .98) 100%);--gradient-card-shine: linear-gradient(135deg, rgba(255, 255, 255, .1) 0%, transparent 50%, rgba(255, 255, 255, .05) 100%);--gradient-fade-bottom: linear-gradient(to bottom, transparent, var(--background));--gradient-fade-top: linear-gradient(to top, transparent, var(--background));--shadow-sm: 0 1px 2px rgba(0, 0, 0, .05);--shadow: 0 1px 3px rgba(0, 0, 0, .1);--shadow-md: 0 4px 6px rgba(0, 0, 0, .1);--shadow-lg: 0 10px 15px rgba(0, 0, 0, .1);--shadow-xl: 0 20px 25px rgba(0, 0, 0, .15);--shadow-2xl: 0 25px 50px rgba(0, 0, 0, .25);--shadow-orange: 0 4px 14px rgba(255, 140, 66, .25);--shadow-orange-lg: 0 10px 25px rgba(255, 140, 66, .3);--shadow-blue: 0 4px 14px rgba(37, 99, 235, .25);--shadow-blue-lg: 0 10px 25px rgba(37, 99, 235, .3);--shadow-inset: inset 0 2px 4px rgba(0, 0, 0, .06);--shadow-inset-lg: inset 0 4px 8px rgba(0, 0, 0, .1);--radius-xs: 2px;--radius-sm: 4px;--radius: 8px;--radius-md: 12px;--radius-lg: 16px;--radius-xl: 24px;--radius-2xl: 32px;--radius-full: 9999px;--space-0: 0;--space-px: 1px;--space-0-5: 2px;--space-xs: 4px;--space-sm: 8px;--space-md: 16px;--space-lg: 24px;--space-xl: 32px;--space-2xl: 48px;--space-3xl: 64px;--space-4xl: 96px;--space-5xl: 128px;--font-sans: -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Oxygen", "Ubuntu", "Cantarell", "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif;--font-mono: "SF Mono", "Monaco", "Inconsolata", "Fira Code", "Fira Mono", "Droid Sans Mono", "Consolas", monospace;--text-xs: .75rem;--text-sm: .875rem;--text-base: 1rem;--text-lg: 1.125rem;--text-xl: 1.25rem;--text-2xl: 1.5rem;--text-3xl: 1.875rem;--text-4xl: 2.25rem;--text-5xl: 3rem;--text-6xl: 3.75rem;--font-thin: 100;--font-extralight: 200;--font-light: 300;--font-normal: 400;--font-medium: 500;--font-semibold: 600;--font-bold: 700;--font-extrabold: 800;--font-black: 900;--leading-none: 1;--leading-tight: 1.25;--leading-snug: 1.375;--leading-normal: 1.5;--leading-relaxed: 1.625;--leading-loose: 2;--tracking-tighter: -.05em;--tracking-tight: -.025em;--tracking-normal: 0;--tracking-wide: .025em;--tracking-wider: .05em;--tracking-widest: .1em;--duration-instant: 50ms;--duration-fast: .15s;--duration-normal: .25s;--duration-slow: .35s;--duration-slower: .5s;--duration-slowest: .7s;--ease-linear: linear;--ease-in: cubic-bezier(.4, 0, 1, 1);--ease-out: cubic-bezier(0, 0, .2, 1);--ease-in-out: cubic-bezier(.4, 0, .2, 1);--ease-bounce: cubic-bezier(.68, -.55, .265, 1.55);--ease-elastic: cubic-bezier(.68, -.6, .32, 1.6);--ease-smooth: cubic-bezier(.25, .1, .25, 1);--transition-fast: all var(--duration-fast) var(--ease-out);--transition-normal: all var(--duration-normal) var(--ease-out);--transition-slow: all var(--duration-slow) var(--ease-out);--transition-bounce: all var(--duration-normal) var(--ease-bounce);--transition-colors: color var(--duration-fast) var(--ease-out), background-color var(--duration-fast) var(--ease-out), border-color var(--duration-fast) var(--ease-out);--transition-transform: transform var(--duration-normal) var(--ease-out);--transition-shadow: box-shadow var(--duration-normal) var(--ease-out);--z-below: -1;--z-base: 0;--z-raised: 10;--z-dropdown: 100;--z-sticky: 200;--z-drawer: 300;--z-modal-backdrop: 400;--z-modal: 500;--z-popover: 600;--z-tooltip: 700;--z-toast: 800;--z-max: 9999;--container-sm: 640px;--container-md: 768px;--container-lg: 1024px;--container-xl: 1280px;--container-2xl: 1536px;font-family:var(--font-sans);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{font-family:inherit;color:var(--text-primary);background-color:var(--background);line-height:1.6}#root{min-height:100vh}h1,h2,h3,h4,h5,h6{font-weight:700;line-height:1.2;color:var(--text-primary)}h1{font-size:2.5rem}h2{font-size:2rem}h3{font-size:1.5rem}p{margin-bottom:var(--space-md)}.btn{padding:12px 24px;border-radius:var(--radius);border:none;font-weight:600;cursor:pointer;transition:all .2s ease;display:inline-flex;align-items:center;gap:var(--space-sm);text-decoration:none;font-size:1rem}.btn:disabled{opacity:.6;cursor:not-allowed}.btn-primary{background:linear-gradient(135deg,var(--primary-orange),var(--light-orange));color:var(--white);box-shadow:var(--shadow-md)}.btn-primary:hover:not(:disabled){transform:translateY(-2px);box-shadow:var(--shadow-lg)}.btn-secondary{background:linear-gradient(135deg,var(--primary-blue),var(--light-blue));color:var(--white);box-shadow:var(--shadow-md)}.btn-secondary:hover:not(:disabled){transform:translateY(-2px);box-shadow:var(--shadow-lg)}.btn-outline{background:transparent;border:2px solid var(--primary-orange);color:var(--primary-orange)}.btn-outline:hover:not(:disabled){background:var(--primary-orange);color:var(--white)}.btn-ghost{background:transparent;color:var(--dark-blue)}.btn-ghost:hover:not(:disabled){background:var(--light-gray)}.form-group{margin-bottom:var(--space-lg)}label{display:block;margin-bottom:var(--space-sm);font-weight:600;color:var(--dark-blue)}input,textarea,select{width:100%;padding:12px 16px;border:2px solid var(--light-gray);border-radius:var(--radius);font-size:1rem;transition:border-color .2s ease;color:var(--text-primary);background-color:var(--white)}input:focus,textarea:focus,select:focus{outline:none;border-color:var(--primary-orange)}.card{background:var(--white);border-radius:var(--radius-md);box-shadow:var(--shadow);padding:var(--space-xl);transition:all .2s ease}.card:hover{box-shadow:var(--shadow-lg);transform:translateY(-2px)}.container{max-width:1200px;margin:0 auto;padding:0 var(--space-lg)}.text-center{text-align:center}.text-orange{color:var(--primary-orange)}.text-blue{color:var(--primary-blue)}.mt-1{margin-top:var(--space-sm)}.mt-2{margin-top:var(--space-md)}.mt-3{margin-top:var(--space-lg)}.mt-4{margin-top:var(--space-xl)}.mb-1{margin-bottom:var(--space-sm)}.mb-2{margin-bottom:var(--space-md)}.mb-3{margin-bottom:var(--space-lg)}.mb-4{margin-bottom:var(--space-xl)}.flex{display:flex}.flex-column{flex-direction:column}.items-center{align-items:center}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-1{gap:var(--space-sm)}.gap-2{gap:var(--space-md)}.gap-3{gap:var(--space-lg)}.spinner{border:3px solid var(--light-gray);border-top:3px solid var(--primary-orange);border-radius:50%;width:40px;height:40px;animation:spin 1s linear infinite}.bg-travel-pattern{background-color:var(--background);background-image:radial-gradient(circle at 20% 50%,rgba(255,140,66,.03) 0%,transparent 50%),radial-gradient(circle at 80% 20%,rgba(37,99,235,.03) 0%,transparent 50%),radial-gradient(circle at 40% 80%,rgba(255,140,66,.02) 0%,transparent 40%)}.bg-world-dots{background-color:var(--surface-card);background-image:radial-gradient(circle,var(--border) 1px,transparent 1px);background-size:24px 24px}.bg-gradient-mesh{background-color:var(--background);background-image:radial-gradient(at 40% 20%,rgba(255,140,66,.08) 0px,transparent 50%),radial-gradient(at 80% 0%,rgba(37,99,235,.06) 0px,transparent 50%),radial-gradient(at 0% 50%,rgba(255,140,66,.05) 0px,transparent 50%),radial-gradient(at 80% 50%,rgba(37,99,235,.04) 0px,transparent 50%),radial-gradient(at 0% 100%,rgba(255,140,66,.06) 0px,transparent 50%)}.bg-hero-travel{background:var(--gradient-hero);position:relative}.bg-hero-travel:before{content:"";position:absolute;inset:0;background-image:radial-gradient(ellipse at 50% 0%,rgba(255,140,66,.1) 0%,transparent 60%);pointer-events:none}.card-destination{position:relative;overflow:hidden;border-radius:var(--radius-lg);background:var(--surface-card);box-shadow:var(--shadow-md);transition:var(--transition-normal)}.card-destination:hover{transform:translateY(-8px) scale(1.02);box-shadow:var(--shadow-xl)}.card-destination:after{content:"";position:absolute;inset:0;background:var(--gradient-card-shine);opacity:0;transition:var(--transition-normal);pointer-events:none}.card-destination:hover:after{opacity:1}.card-image-overlay{position:relative;overflow:hidden;border-radius:var(--radius-lg)}.card-image-overlay img{width:100%;height:100%;object-fit:cover;transition:var(--transition-slow)}.card-image-overlay:hover img{transform:scale(1.1)}.card-image-overlay .card-content{position:absolute;bottom:0;left:0;right:0;padding:var(--space-lg);background:var(--overlay-image);color:var(--white);transition:var(--transition-normal)}.card-image-overlay:hover .card-content{background:var(--overlay-image-hover)}.hover-adventure{transition:var(--transition-bounce)}.hover-adventure:hover{transform:translateY(-6px) rotate(1deg);box-shadow:var(--shadow-orange-lg)}.hover-float{transition:var(--transition-normal)}.hover-float:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg)}.hover-glow-orange{transition:var(--transition-normal)}.hover-glow-orange:hover{box-shadow:var(--shadow-orange-lg)}.hover-glow-blue{transition:var(--transition-normal)}.hover-glow-blue:hover{box-shadow:var(--shadow-blue-lg)}.badge{display:inline-flex;align-items:center;gap:var(--space-xs);padding:var(--space-xs) var(--space-sm);border-radius:var(--radius-full);font-size:var(--text-xs);font-weight:var(--font-semibold);text-transform:uppercase;letter-spacing:var(--tracking-wide)}.badge-confirmed{background:var(--status-confirmed-bg);color:var(--status-confirmed)}.badge-pending{background:var(--status-pending-bg);color:var(--status-pending)}.badge-cancelled{background:var(--status-cancelled-bg);color:var(--status-cancelled)}.badge-in-progress{background:var(--status-in-progress-bg);color:var(--status-in-progress)}.badge-completed{background:var(--status-completed-bg);color:var(--status-completed)}.badge-draft{background:var(--status-draft-bg);color:var(--status-draft)}.text-xs{font-size:var(--text-xs)}.text-sm{font-size:var(--text-sm)}.text-base{font-size:var(--text-base)}.text-lg{font-size:var(--text-lg)}.text-xl{font-size:var(--text-xl)}.text-2xl{font-size:var(--text-2xl)}.text-3xl{font-size:var(--text-3xl)}.text-4xl{font-size:var(--text-4xl)}.text-5xl{font-size:var(--text-5xl)}.text-6xl{font-size:var(--text-6xl)}.font-light{font-weight:var(--font-light)}.font-normal{font-weight:var(--font-normal)}.font-medium{font-weight:var(--font-medium)}.font-semibold{font-weight:var(--font-semibold)}.font-bold{font-weight:var(--font-bold)}.font-extrabold{font-weight:var(--font-extrabold)}.leading-tight{line-height:var(--leading-tight)}.leading-snug{line-height:var(--leading-snug)}.leading-normal{line-height:var(--leading-normal)}.leading-relaxed{line-height:var(--leading-relaxed)}.leading-loose{line-height:var(--leading-loose)}.tracking-tight{letter-spacing:var(--tracking-tight)}.tracking-normal{letter-spacing:var(--tracking-normal)}.tracking-wide{letter-spacing:var(--tracking-wide)}.tracking-wider{letter-spacing:var(--tracking-wider)}.text-muted{color:var(--text-muted)}.text-success{color:var(--success)}.text-warning{color:var(--warning)}.text-danger{color:var(--danger)}.mt-0{margin-top:0}.mt-xs{margin-top:var(--space-xs)}.mt-sm{margin-top:var(--space-sm)}.mt-md{margin-top:var(--space-md)}.mt-lg{margin-top:var(--space-lg)}.mt-xl{margin-top:var(--space-xl)}.mt-2xl{margin-top:var(--space-2xl)}.mt-3xl{margin-top:var(--space-3xl)}.mt-4xl{margin-top:var(--space-4xl)}.mb-0{margin-bottom:0}.mb-xs{margin-bottom:var(--space-xs)}.mb-sm{margin-bottom:var(--space-sm)}.mb-md{margin-bottom:var(--space-md)}.mb-lg{margin-bottom:var(--space-lg)}.mb-xl{margin-bottom:var(--space-xl)}.mb-2xl{margin-bottom:var(--space-2xl)}.mb-3xl{margin-bottom:var(--space-3xl)}.mb-4xl{margin-bottom:var(--space-4xl)}.p-0{padding:0}.p-xs{padding:var(--space-xs)}.p-sm{padding:var(--space-sm)}.p-md{padding:var(--space-md)}.p-lg{padding:var(--space-lg)}.p-xl{padding:var(--space-xl)}.p-2xl{padding:var(--space-2xl)}.gap-xs{gap:var(--space-xs)}.gap-sm{gap:var(--space-sm)}.gap-md{gap:var(--space-md)}.gap-lg{gap:var(--space-lg)}.gap-xl{gap:var(--space-xl)}.gap-2xl{gap:var(--space-2xl)}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.animate-fade-in{animation:fadeIn var(--duration-normal) var(--ease-out)}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.animate-slide-up{animation:slideUp var(--duration-normal) var(--ease-out)}@keyframes slideDown{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.animate-slide-down{animation:slideDown var(--duration-normal) var(--ease-out)}@keyframes scaleIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.animate-scale-in{animation:scaleIn var(--duration-normal) var(--ease-out)}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.animate-bounce{animation:bounce 1s var(--ease-bounce) infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.animate-pulse{animation:pulse 2s var(--ease-in-out) infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.animate-spin{animation:spin 1s linear infinite}@keyframes float{0%,to{transform:translateY(0) rotate(0)}25%{transform:translateY(-5px) rotate(1deg)}75%{transform:translateY(-3px) rotate(-1deg)}}.animate-float{animation:float 3s var(--ease-smooth) infinite}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.animate-shimmer{background:linear-gradient(90deg,var(--light-gray) 0%,var(--off-white) 50%,var(--light-gray) 100%);background-size:200% 100%;animation:shimmer 1.5s var(--ease-linear) infinite}.surface-ground{background-color:var(--surface-ground)}.surface-card{background-color:var(--surface-card)}.surface-elevated{background-color:var(--surface-elevated)}.surface-sunken{background-color:var(--surface-sunken)}.surface-interactive{background-color:var(--surface-interactive);transition:var(--transition-colors)}.surface-interactive:hover{background-color:var(--surface-interactive-hover)}.bg-gradient-orange{background:var(--gradient-orange)}.bg-gradient-blue{background:var(--gradient-blue)}.bg-gradient-sunset{background:var(--gradient-sunset)}.bg-gradient-ocean{background:var(--gradient-ocean)}.bg-gradient-adventure{background:var(--gradient-adventure)}.text-gradient-orange{background:var(--gradient-orange);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.text-gradient-blue{background:var(--gradient-blue);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.text-gradient-adventure{background:var(--gradient-adventure);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.focus-ring:focus{outline:none;box-shadow:0 0 0 3px #ff8c4266}.focus-ring-blue:focus{outline:none;box-shadow:0 0 0 3px #2563eb66}.skip-link{position:absolute;top:-100%;left:var(--space-md);padding:var(--space-sm) var(--space-md);background:var(--primary-orange);color:var(--white);border-radius:var(--radius);z-index:var(--z-max);transition:var(--transition-fast)}.skip-link:focus{top:var(--space-md)}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}@media(max-width:768px){h1{font-size:2rem}h2{font-size:1.5rem}.container{padding:0 var(--space-md)}.card-destination:hover{transform:translateY(-4px)}.hover-adventure:hover{transform:translateY(-3px) rotate(0)}}@media(min-width:1280px){:root{--text-5xl: 3.5rem;--text-6xl: 4.5rem}}
