:root{--header-height: 60px;--mobile-header-height: 56px}.app-layout{min-height:100vh}.app-header{border-bottom:1px solid;padding:0 var(--spacing-md);height:var(--header-height);display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-md);position:sticky;top:0;z-index:100}.user-avatar{width:40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:var(--font-weight-bold);font-size:var(--font-size-sm);color:#fff;flex-shrink:0}.app-nav{display:flex;gap:var(--spacing-lg);flex:1;justify-content:center;max-width:600px}.app-nav a{text-decoration:none;color:inherit;font-weight:var(--font-weight-medium);font-size:var(--font-size-base);padding:var(--spacing-sm) var(--spacing-md);opacity:.5;transition:all .2s ease;position:relative;min-height:var(--touch-target-min);display:flex;align-items:center;border-radius:var(--radius-sm)}.app-nav a:hover{opacity:.8;background-color:#00000008}.app-nav a.active{opacity:1;font-weight:var(--font-weight-bold);background-color:#007bff1a}.app-nav a.active:after{content:"";position:absolute;bottom:0;left:0;right:0;height:3px;background-color:currentColor;border-color:inherit;border-radius:var(--radius-sm) var(--radius-sm) 0 0}.overflow-menu-container{position:relative;flex-shrink:0}.overflow-menu-btn{background:transparent;border:none;font-size:var(--font-size-2xl);cursor:pointer;padding:var(--spacing-xs);min-width:var(--touch-target-min);min-height:var(--touch-target-min);display:flex;align-items:center;justify-content:center;border-radius:var(--radius-md);transition:background-color .2s ease;line-height:1}.overflow-menu-btn:hover{background-color:#0000000d}.overflow-menu-backdrop{position:fixed;top:0;left:0;right:0;bottom:0;z-index:999}.overflow-menu{position:absolute;top:calc(100% + var(--spacing-xs));right:0;min-width:180px;border:1px solid;border-radius:var(--radius-md);box-shadow:0 4px 12px #00000026;overflow:hidden;z-index:1000}.overflow-menu-item{width:100%;padding:var(--spacing-md) var(--spacing-lg);border:none;background:transparent;text-align:left;font-size:var(--font-size-base);font-weight:var(--font-weight-medium);cursor:pointer;display:flex;align-items:center;gap:var(--spacing-sm);transition:background-color .2s ease;min-height:var(--touch-target-min)}.overflow-menu-item:hover{background-color:#0000000d}.overflow-menu-item+.overflow-menu-item{border-top:1px solid rgba(0,0,0,.1)}.overflow-menu-icon{font-size:var(--font-size-lg);width:24px;text-align:center}.overflow-menu-item.logout-item{font-weight:var(--font-weight-semibold)}.app-content{width:100%;max-width:1400px;margin:0 auto;padding:var(--spacing-lg);box-sizing:border-box}@media (max-width: 767px){.app-header{height:var(--mobile-header-height);padding:0 var(--spacing-sm);gap:var(--spacing-sm)}.user-avatar{width:32px;height:32px;font-size:var(--font-size-xs)}.app-nav{gap:var(--spacing-sm);max-width:none}.app-nav a{font-size:var(--font-size-sm);padding:var(--spacing-xs) var(--spacing-sm)}.app-nav a.active:after{left:var(--spacing-xs);right:var(--spacing-xs)}.overflow-menu-btn{min-width:40px;min-height:40px;font-size:var(--font-size-xl)}.app-content{padding:var(--spacing-md)}}@media (min-width: 768px) and (max-width: 1024px){.app-nav{gap:var(--spacing-md)}}@media (prefers-color-scheme: dark){.app-nav a:hover{background-color:#ffffff0d}.app-nav a.active{background-color:#007bff33}.overflow-menu-btn:hover,.overflow-menu-item:hover{background-color:#ffffff1a}.overflow-menu-item+.overflow-menu-item{border-top:1px solid rgba(255,255,255,.1)}}@media (prefers-reduced-motion: reduce){.app-nav a,.overflow-menu-btn,.overflow-menu-item{transition:none}}.overflow-menu-btn:focus,.app-nav a:focus,.overflow-menu-item:focus{outline:2px solid;outline-offset:2px}.login-container{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100vh;width:100%;box-sizing:border-box}.login-content{width:100%;max-width:400px;padding:2rem;text-align:center}.login-title{font-size:1.5rem;margin-bottom:.25rem}.login-appName{font-size:2.25rem;font-weight:700;margin-bottom:.5rem}.login-subtitle{font-size:1rem;margin-bottom:2.5rem}.login-form{margin-top:1.25rem;text-align:left}.login-label{display:block;font-size:1rem;font-weight:500;margin-bottom:.5rem}.login-input{width:100%;border:1px solid;border-radius:.5rem;padding:.9rem;font-size:1rem;margin-bottom:1.25rem;box-sizing:border-box}.login-button{width:100%;border:none;border-radius:.5rem;padding:.9rem;color:#fff;font-size:1rem;font-weight:600;cursor:pointer;margin-bottom:1rem;transition:background-color .2s}.login-button:disabled{background-color:#6c757d!important;cursor:not-allowed}.login-note{font-size:.875rem;text-align:center;font-style:italic}.loading-skeleton{display:flex;flex-direction:column;gap:var(--spacing-lg);padding:var(--spacing-md)}.skeleton-card{border:1px solid;border-radius:var(--radius-lg);padding:var(--spacing-lg);animation:pulse 1.5s ease-in-out infinite}.skeleton-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-md);padding-bottom:var(--spacing-md);border-bottom:1px solid;border-color:inherit}.skeleton-line{border-radius:var(--radius-sm);animation:shimmer 1.5s ease-in-out infinite}.skeleton-booking-id{width:140px;height:20px}.skeleton-status{width:80px;height:24px;border-radius:var(--radius-full)}.skeleton-details{display:flex;gap:var(--spacing-sm);margin-bottom:var(--spacing-md);flex-wrap:wrap}.skeleton-detail{width:100px;height:18px}.skeleton-activities{display:flex;flex-direction:column;gap:var(--spacing-sm)}.skeleton-activity{width:100%;height:32px}@keyframes pulse{0%,to{opacity:1}50%{opacity:.7}}@keyframes shimmer{0%{opacity:.5}50%{opacity:.8}to{opacity:.5}}@media (prefers-reduced-motion: reduce){.skeleton-card,.skeleton-line{animation:none}}.empty-state{display:flex;align-items:center;justify-content:center;min-height:400px;padding:var(--spacing-2xl) var(--spacing-md);text-align:center}.empty-state-content{max-width:400px;display:flex;flex-direction:column;align-items:center;gap:var(--spacing-md)}.empty-state-icon{width:120px;height:120px;opacity:.6;margin-bottom:var(--spacing-sm)}.empty-state-title{font-size:var(--font-size-xl);font-weight:var(--font-weight-semibold);line-height:var(--line-height-tight);margin:0}.empty-state-message{font-size:var(--font-size-base);line-height:var(--line-height-relaxed);margin:0;opacity:.85}.empty-state-action{margin-top:var(--spacing-md)}@media (max-width: 768px){.empty-state{min-height:300px;padding:var(--spacing-xl) var(--spacing-md)}.empty-state-icon{width:100px;height:100px}.empty-state-title{font-size:var(--font-size-lg)}.empty-state-message{font-size:var(--font-size-sm)}}@media (prefers-reduced-motion: reduce){.empty-state *{animation:none;transition:none}}.flights-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(400px,1fr));gap:24px;padding-bottom:2rem}.flight-card-elevenlabs{height:360px;border-radius:16px;overflow:hidden;background:#fff;box-shadow:0 1px 3px #0000000a,0 2px 8px #0000000f,0 4px 16px #0000000a;transition:all .3s cubic-bezier(.4,0,.2,1);display:flex;flex-direction:column}.flight-card-elevenlabs.cursor-pointer:hover{transform:translateY(-4px);box-shadow:0 4px 12px #00000014,0 8px 24px #0000001a,0 16px 32px #00000014}.flight-card-hero{position:relative;height:60%;display:flex;align-items:flex-end;padding:24px;overflow:hidden}.flight-card-image{position:absolute;top:0;left:0;width:100%;height:100%;-o-object-fit:cover;object-fit:cover;opacity:0;transition:opacity .5s ease-in-out;z-index:0}.flight-card-image.loaded{opacity:1}.flight-card-overlay{position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(180deg,#0000,#0000004d 40%,#000000b3);z-index:1}.flight-card-route{position:relative;z-index:2;display:flex;align-items:center;gap:12px;flex-wrap:wrap}.airport-code-hero{font-size:36px;font-weight:800;color:#fff;letter-spacing:1px;text-shadow:0 2px 8px rgba(0,0,0,.4);line-height:1}.airport-code-hero.highlight{font-size:40px;color:#fbbf24;text-shadow:0 2px 12px rgba(251,191,36,.6)}.route-arrow{font-size:28px;color:#ffffffb3;font-weight:300}.flight-card-status{position:absolute;top:16px;right:16px;z-index:3}.glassmorphic{background:#ffffff26!important;-webkit-backdrop-filter:blur(12px) saturate(180%);backdrop-filter:blur(12px) saturate(180%);border:1px solid rgba(255,255,255,.3)!important;color:#fff!important;font-weight:600!important;text-shadow:0 1px 2px rgba(0,0,0,.2)}.flight-card-info{height:40%;padding:20px 24px;background:#fff;display:flex;flex-direction:column;gap:12px}.flight-card-info-row{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;flex-wrap:wrap}.flight-details{display:flex;flex-direction:column;gap:4px;flex:1;min-width:0}.flight-number{font-size:18px;font-weight:700;color:#111;letter-spacing:.5px}.flight-time{font-size:14px;font-weight:500;color:#666}.flight-actions{display:flex;align-items:center;gap:8px;flex-shrink:0}.layover-badge-modern{font-size:12px!important;font-weight:600!important;padding:4px 10px!important;border-radius:12px!important}.edit-button-modern{font-size:13px!important;padding:6px 12px!important;border-radius:8px!important;display:flex;align-items:center;gap:6px}.explore-button{width:100%;font-size:14px!important;font-weight:600!important;color:#10b981!important;padding:8px 16px!important;border-radius:8px!important;transition:all .2s ease}.explore-button:hover{background-color:#10b9811a!important;transform:translate(2px)}@media (min-width: 768px) and (max-width: 1023px){.flights-grid{grid-template-columns:repeat(2,1fr);gap:20px}.flight-card-elevenlabs{height:340px}.airport-code-hero{font-size:32px}.airport-code-hero.highlight{font-size:36px}}@media (max-width: 767px){.flights-grid{grid-template-columns:1fr;gap:16px}.flight-card-elevenlabs{height:auto;min-height:320px}.flight-card-hero{padding:20px;height:180px;flex-shrink:0}.flight-card-info{height:auto;padding:16px 20px 20px;flex:1}.airport-code-hero{font-size:28px}.airport-code-hero.highlight{font-size:32px}.route-arrow{font-size:24px}.flight-card-info{padding:16px 20px}.flight-number{font-size:16px}.flight-time{font-size:13px}.flight-card-info-row{flex-direction:column;gap:12px}.flight-actions{width:100%;justify-content:space-between}.edit-label{display:inline!important}.explore-button{font-size:13px!important;padding:6px 12px!important;white-space:normal!important;text-align:left!important;line-height:1.3!important;min-height:36px!important}}@media (prefers-color-scheme: dark){.flight-card-elevenlabs{background:#1f2937;box-shadow:0 1px 3px #0003,0 2px 8px #0000004d,0 4px 16px #0003}.flight-card-info{background:#1f2937}.flight-number{color:#f9fafb}.flight-time{color:#9ca3af}.flight-card-overlay{background:linear-gradient(180deg,#0000,#00000080 40%,#000000e6)}}@media (prefers-reduced-motion: reduce){.flight-card-elevenlabs,.flight-card-image,.explore-button{transition:none}}:root{--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;--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-5: 1.25rem;--space-6: 1.5rem;--space-8: 2rem;--color-success: #48bb78;--color-warning: #f6ad55;--color-info: #4299e1}.home-container{padding:var(--space-4);max-width:100%}.filter-buttons{display:flex;gap:var(--spacing-sm);flex-wrap:wrap;margin-bottom:var(--spacing-lg)}.filter-btn{padding:var(--spacing-sm) var(--spacing-md);border:1.5px solid;border-radius:var(--radius-full);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);cursor:pointer;transition:all .2s ease;white-space:nowrap;min-height:var(--touch-target-min);display:flex;align-items:center;justify-content:center;background:transparent}.filter-btn:hover{transform:translateY(-1px);box-shadow:0 2px 6px #00000014}.filter-btn.active{font-weight:var(--font-weight-semibold);border-width:2px;box-shadow:0 2px 8px #007bff26}.home-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-6);gap:var(--space-4)}.home-header-text{display:flex;flex-direction:column;gap:var(--space-2)}.home-title{font-size:var(--text-2xl);font-weight:700;margin:0;line-height:1.2}.home-subtitle{font-size:var(--text-sm);opacity:.7;margin:0;line-height:1.4}.add-flight-button{border:none;color:#fff;padding:var(--spacing-md) var(--spacing-lg);border-radius:var(--radius-full);font-weight:var(--font-weight-semibold);font-size:var(--font-size-base);cursor:pointer;min-height:var(--touch-target-min);white-space:nowrap;transition:all .2s ease;box-shadow:0 2px 8px #007bff33}.add-flight-button:hover{transform:translateY(-1px);box-shadow:0 4px 12px #007bff4d}.add-flight-button:active{transform:translateY(0)}.loading-state{text-align:center;padding:var(--space-8);opacity:.7;font-size:var(--text-base)}.flights-list{display:flex;flex-direction:column;gap:var(--space-4)}.flight-card{border:1px solid;border-radius:16px;padding:var(--space-5);cursor:pointer;transition:box-shadow .2s,transform .2s}.flight-card:hover:not(.past-flight){box-shadow:0 8px 25px #0000001a;transform:translateY(-2px)}.flight-card.past-flight{opacity:.6;cursor:default}.flight-card-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:var(--space-5);gap:var(--space-4)}.flight-number-container{display:flex;flex-direction:row;align-items:center;gap:var(--space-3)}.flight-number{font-weight:700;font-size:var(--text-lg);line-height:1.2}.past-tag,.upcoming-tag{font-size:var(--text-xs);font-style:italic;opacity:.7;text-transform:uppercase;letter-spacing:.5px;font-weight:500}.past-tag{font-size:var(--text-xs);font-style:normal;font-weight:600;padding:var(--space-1) var(--space-2);background-color:#ef44441a;color:#dc2626;border-radius:6px;white-space:nowrap;opacity:1;text-transform:lowercase;letter-spacing:normal}.upcoming-tag{font-size:var(--text-xs);font-style:normal;font-weight:600;padding:var(--space-1) var(--space-2);background-color:#4299e11a;color:var(--color-info);border-radius:6px;white-space:nowrap;opacity:1;text-transform:lowercase;letter-spacing:normal}.flight-card-header-right{display:flex;align-items:center;gap:var(--spacing-md)}.layover-info{display:flex;flex-direction:column;align-items:flex-end;gap:var(--spacing-xs)}.layover-badge{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);padding:var(--spacing-sm) var(--spacing-md);background-color:#48bb781a;border-radius:var(--radius-md);white-space:nowrap}.recommendations-cta{font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);padding:var(--spacing-xs) var(--spacing-sm);background:transparent;border:1px solid;border-radius:var(--radius-sm);cursor:pointer;white-space:nowrap;transition:all .2s ease;min-height:var(--touch-target-min)}.recommendations-cta:hover{background-color:#48bb781a;transform:translateY(-1px)}.edit-flight-button{background:transparent;border:1px solid;border-radius:var(--radius-md);padding:var(--spacing-sm) var(--spacing-md);cursor:pointer;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);min-height:var(--touch-target-min);display:flex;align-items:center;gap:var(--spacing-xs);transition:background-color .2s}.edit-flight-button:hover:not(:disabled){background-color:#0000000d}.edit-flight-button:disabled{opacity:.3;cursor:not-allowed}.edit-icon{font-size:var(--font-size-base);line-height:1}.edit-label{display:inline}.flight-route{width:100%}.flight-leg{display:flex;align-items:center;gap:var(--space-3);justify-content:space-between}.airport-info{display:flex;flex-direction:column;align-items:center;gap:var(--spacing-xs);min-width:60px;flex-shrink:0}.airport-label{font-size:var(--font-size-xs);opacity:.6;font-weight:var(--font-weight-medium);text-transform:uppercase;letter-spacing:.5px;line-height:1;order:-1}.airport-code{font-size:var(--font-size-xl);font-weight:var(--font-weight-bold);line-height:1;letter-spacing:1px}.airport-time{font-size:var(--font-size-sm);opacity:.7;font-weight:var(--font-weight-medium);line-height:1}.route-segment{display:flex;flex-direction:column;align-items:center;gap:var(--space-1);flex:1;min-width:0}.route-arrow{font-size:var(--text-lg);opacity:.5;color:inherit;flex-shrink:0}.layover-duration{font-size:var(--text-xs);opacity:.8;color:var(--color-warning);font-weight:600;white-space:nowrap;background-color:#f6ad5526;padding:2px 6px;border-radius:4px}.airport-info.origin .airport-code{color:var(--color-success)}.airport-info.layover .airport-code{color:var(--color-warning)}.airport-info.final .airport-code{color:var(--color-info)}@media (max-width: 480px){.home-container{padding:var(--spacing-md)}.filter-buttons{display:flex;gap:var(--spacing-xs)}.filter-btn{font-size:var(--font-size-xs);padding:var(--spacing-xs) var(--spacing-sm);flex:1;min-width:0}.home-header{flex-direction:column;align-items:stretch;gap:var(--spacing-md)}.home-header-text{text-align:center}.home-title{font-size:var(--font-size-xl)}.home-subtitle{font-size:var(--font-size-xs)}.add-flight-button{width:100%;padding:var(--spacing-md);font-size:var(--font-size-base);font-weight:var(--font-weight-bold)}.flight-card{padding:var(--spacing-md)}.flight-card-header{flex-direction:column;align-items:stretch;gap:var(--spacing-sm)}.flight-card-header-right{justify-content:space-between;flex-wrap:wrap}.layover-info{align-items:flex-start;flex:1}.airport-code{font-size:var(--font-size-lg)}.flight-leg{gap:var(--spacing-sm)}.route-segment{flex:0 1 auto;min-width:40px}.airport-info{min-width:50px}}@media (min-width: 481px) and (max-width: 768px){.home-header{flex-direction:row}.airport-code{font-size:1.375rem}.flight-route{width:100%}.flight-leg{display:flex;align-items:center;gap:var(--space-3);justify-content:flex-start}.route-segment{display:flex;flex-direction:row;align-items:center;gap:var(--space-1);flex:0 0 auto;min-width:60px;justify-content:center}.airport-info{min-width:70px;flex:0 0 auto;display:flex;flex-direction:column;align-items:center;gap:var(--space-1)}.layover-duration{font-size:11px;padding:var(--space-1) var(--space-1);white-space:nowrap}.route-arrow{font-size:var(--text-lg);margin:0 var(--space-1)}}@media (min-width: 769px){.home-container{padding:var(--space-6)}.home-title{font-size:var(--text-3xl)}.airport-code{font-size:1.75rem}.flight-card-header-right{flex-direction:row}.flight-route{width:100%}.flight-leg{display:flex;align-items:center;gap:var(--space-4);justify-content:flex-start}.route-segment{display:flex;flex-direction:row;align-items:center;gap:var(--space-2);flex:0 0 auto;min-width:80px;justify-content:center}.airport-info{min-width:80px;flex:0 0 auto;display:flex;flex-direction:column;align-items:center;gap:var(--space-1)}.layover-duration{font-size:var(--text-sm);padding:var(--space-1) var(--space-2);white-space:nowrap}.route-arrow{font-size:var(--text-xl);margin:0 var(--space-2)}}@media (prefers-color-scheme: dark){.layover-badge{background-color:#48bb7833}.past-tag{background-color:#ef444433;color:#f87171}.upcoming-tag{background-color:#4299e133;color:#63b3ed}.layover-duration{background-color:#f6ad5533}.edit-flight-button:hover:not(:disabled){background-color:#ffffff1a}}@media (prefers-reduced-motion: reduce){.flight-card,.add-flight-button,.edit-flight-button{transition:none}}.add-flight-button:focus,.edit-flight-button:focus{outline:2px solid;outline-offset:2px}.airport-autocomplete{position:relative;width:100%}.airport-input{width:100%;padding:.75rem;border:1px solid;border-radius:8px;font-size:1rem;font-family:inherit;transition:border-color .2s,box-shadow .2s;box-sizing:border-box}.airport-input:focus{outline:none;border-color:#007bff;box-shadow:0 0 0 3px #007bff1a}.airport-input:disabled{opacity:.6;cursor:not-allowed}.airport-suggestions{position:fixed;top:auto;left:auto;right:auto;z-index:99999;max-height:300px;overflow-y:auto;border:1px solid;border-top:none;border-radius:0 0 8px 8px;margin:0;padding:0;list-style:none;min-width:100%;transform:translateZ(0);will-change:transform}.airport-suggestion{padding:.75rem;cursor:pointer;border-bottom:1px solid rgba(0,0,0,.05);transition:background-color .2s}.airport-suggestion:last-child{border-bottom:none}.airport-suggestion:hover{background-color:#007bff0d!important}.airport-suggestion.selected{background-color:#007bff1a!important}.airport-suggestion-main{display:flex;align-items:center;gap:.5rem;margin-bottom:.25rem}.airport-code{font-weight:700;font-size:1rem;color:#007bff;min-width:45px;text-transform:uppercase}.airport-name{font-weight:500;flex:1;line-height:1.2}.airport-suggestion-location{font-size:.875rem;opacity:.7;margin-left:calc(45px + .5rem)}@media (max-width: 768px){.airport-input{padding:.875rem;font-size:1rem;font-size:16px}.airport-suggestions{max-height:250px}.airport-suggestion{padding:1rem .75rem}.airport-suggestion-main{gap:.75rem}.airport-code{min-width:50px;font-size:1.1rem}.airport-name{font-size:.95rem;line-height:1.3}.airport-suggestion-location{font-size:.8rem;margin-left:calc(50px + .75rem);margin-top:.125rem}}@media (prefers-color-scheme: dark){.airport-suggestions{background-color:#2d3748!important;border-color:#4a5568!important}.airport-suggestion{border-bottom-color:#ffffff1a;color:#fff!important}.airport-suggestion:hover{background-color:#ffffff1a!important}.airport-suggestion.selected{background-color:#ffffff26!important}.airport-code{color:#63b3ed!important}.airport-name{color:#fff!important}.airport-suggestion-location{color:#a0aec0!important}}.airport-autocomplete.loading .airport-input{background-image:linear-gradient(90deg,transparent,rgba(0,123,255,.1),transparent);background-size:50px 100%;background-repeat:no-repeat;animation:loading-shimmer 1.5s infinite}.airport-input:focus-visible{outline:2px solid #007bff;outline-offset:2px}.airport-suggestion:focus{outline:2px solid #007bff;outline-offset:-2px}.airport-suggestions{scroll-behavior:smooth}@media (prefers-contrast: high){.airport-input{border-width:2px}.airport-suggestion.selected{border:2px solid #007bff}}.airline-autocomplete{position:relative;width:100%}.airline-input{width:100%;padding:.75rem;border:1px solid;border-radius:8px;font-size:1rem;font-family:inherit;transition:border-color .2s,box-shadow .2s;box-sizing:border-box}.airline-input:focus{outline:none;border-color:#007bff;box-shadow:0 0 0 3px #007bff1a}.airline-input:disabled{opacity:.6;cursor:not-allowed}.airline-suggestions{position:fixed;top:auto;left:auto;right:auto;z-index:99999;max-height:300px;overflow-y:auto;border:1px solid;border-top:none;border-radius:0 0 8px 8px;margin:0;padding:0;list-style:none;min-width:100%;transform:translateZ(0);will-change:transform}.airline-suggestion{padding:.75rem;cursor:pointer;border-bottom:1px solid rgba(0,0,0,.05);transition:background-color .2s}.airline-suggestion:last-child{border-bottom:none}.airline-suggestion:hover{background-color:#007bff0d!important}.airline-suggestion.selected{background-color:#007bff1a!important}.airline-suggestion-main{display:flex;align-items:center;gap:.75rem;margin-bottom:.25rem}.airline-code{font-weight:700;font-size:.875rem;color:#007bff;min-width:35px;text-transform:uppercase;background-color:#007bff1a;padding:.25rem .5rem;border-radius:4px;text-align:center}.airline-name{font-weight:500;flex:1;line-height:1.2}.airline-suggestion-country{font-size:.875rem;opacity:.7;margin-left:calc(35px + 1.75rem);font-style:italic}@media (max-width: 768px){.airline-input{padding:.875rem;font-size:16px}.airline-suggestions{max-height:250px}.airline-suggestion{padding:1rem .75rem}.airline-suggestion-main{gap:.5rem}.airline-code{min-width:40px;font-size:.75rem;padding:.25rem .375rem}.airline-name{font-size:.95rem;line-height:1.3}.airline-suggestion-country{font-size:.8rem;margin-left:calc(40px + 1.25rem);margin-top:.125rem}}@media (prefers-color-scheme: dark){.airline-suggestions{background-color:#2d3748!important;border-color:#4a5568!important}.airline-suggestion{border-bottom-color:#ffffff1a;color:#fff!important}.airline-suggestion:hover{background-color:#ffffff1a!important}.airline-suggestion.selected{background-color:#ffffff26!important}.airline-code{color:#63b3ed!important;background-color:#63b3ed33!important}.airline-name{color:#fff!important}.airline-suggestion-country{color:#a0aec0!important}}.airline-autocomplete.loading .airline-input{background-image:linear-gradient(90deg,transparent,rgba(0,123,255,.1),transparent);background-size:50px 100%;background-repeat:no-repeat;animation:loading-shimmer 1.5s infinite}@keyframes loading-shimmer{0%{background-position:-50px 0}to{background-position:calc(100% + 50px) 0}}.airline-input:focus-visible{outline:2px solid #007bff;outline-offset:2px}.airline-suggestion:focus{outline:2px solid #007bff;outline-offset:-2px}.airline-suggestions{scroll-behavior:smooth}@media (prefers-contrast: high){.airline-input{border-width:2px}.airline-suggestion.selected{border:2px solid #007bff}.airline-code{border:1px solid #007bff}}:root{--spacing-xs: .25rem;--spacing-sm: .5rem;--spacing-md: 1rem;--spacing-lg: 1.5rem;--spacing-xl: 2rem;--spacing-2xl: 3rem;--radius-sm: .5rem;--radius-md: .75rem;--radius-lg: 1rem;--radius-xl: 1.5rem;--radius-full: 9999px;--shadow-sm: 0 1px 3px rgba(0,0,0,.04), 0 1px 2px rgba(0,0,0,.06);--shadow-md: 0 1px 3px rgba(0,0,0,.04), 0 2px 8px rgba(0,0,0,.06), 0 4px 16px rgba(0,0,0,.04);--shadow-lg: 0 4px 12px rgba(0,0,0,.08), 0 8px 24px rgba(0,0,0,.1), 0 16px 32px rgba(0,0,0,.08);--shadow-xl: 0 8px 24px rgba(0,0,0,.12), 0 16px 48px rgba(0,0,0,.15);--font-size-xs: .75rem;--font-size-sm: .875rem;--font-size-base: 1rem;--font-size-lg: 1.125rem;--font-size-xl: 1.25rem;--font-size-2xl: 1.5rem;--font-size-3xl: 1.875rem;--font-size-4xl: 2.25rem;--font-size-5xl: 3rem;--font-weight-light: 300;--font-weight-normal: 400;--font-weight-medium: 500;--font-weight-semibold: 600;--font-weight-bold: 700;--font-weight-extrabold: 800;--line-height-tight: 1.2;--line-height-normal: 1.5;--line-height-relaxed: 1.75;--letter-spacing-tight: -.025em;--letter-spacing-normal: 0;--letter-spacing-wide: .025em;--transition-fast: .15s cubic-bezier(.4, 0, .2, 1);--transition-base: .3s cubic-bezier(.4, 0, .2, 1);--transition-slow: .5s cubic-bezier(.4, 0, .2, 1);--z-base: 0;--z-dropdown: 10;--z-sticky: 20;--z-overlay: 30;--z-modal: 40;--z-popover: 50;--z-tooltip: 60}body{font-family:-apple-system,BlinkMacSystemFont,SF Pro Display,SF Pro Text,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:var(--font-size-base);font-weight:450;line-height:1.6;letter-spacing:-.011em;color:#1f2937}h1,h2,h3,h4,h5,h6{font-weight:var(--font-weight-bold);line-height:1.2;letter-spacing:-.022em;margin:0}h1{font-size:var(--font-size-5xl);font-weight:700;letter-spacing:-.032em;line-height:1.1}h2{font-size:var(--font-size-3xl);font-weight:700;letter-spacing:-.027em;line-height:1.15}h3{font-size:var(--font-size-2xl);font-weight:650;letter-spacing:-.019em;line-height:1.25}h4{font-size:var(--font-size-xl);font-weight:600;letter-spacing:-.014em;line-height:1.3}h5{font-size:var(--font-size-lg);font-weight:600;letter-spacing:-.011em;line-height:1.4}h6{font-size:var(--font-size-base);font-weight:600;letter-spacing:-.009em;line-height:1.5}p{margin:0;line-height:1.65;letter-spacing:-.011em}strong,b{font-weight:650}small{font-size:var(--font-size-sm);letter-spacing:-.006em}.card-modern{background:#fff;border-radius:var(--radius-lg);box-shadow:var(--shadow-md);transition:all var(--transition-base);overflow:hidden}.card-modern:hover{box-shadow:var(--shadow-lg);transform:translateY(-2px)}.card-modern.clickable{cursor:pointer}.card-modern.clickable:active{transform:translateY(0)}.hero-card{display:flex;flex-direction:column;height:360px;border-radius:var(--radius-lg);overflow:hidden;background:#fff;box-shadow:var(--shadow-md);transition:all var(--transition-base)}.hero-card.clickable:hover{box-shadow:var(--shadow-lg);transform:translateY(-4px)}.hero-card-visual{position:relative;height:60%;display:flex;align-items:flex-end;padding:var(--spacing-lg);overflow:hidden}.hero-card-image{position:absolute;top:0;left:0;width:100%;height:100%;-o-object-fit:cover;object-fit:cover;opacity:0;transition:opacity var(--transition-slow);z-index:var(--z-base)}.hero-card-image.loaded{opacity:1}.hero-card-overlay{position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(180deg,#0000,#0000004d 40%,#000000b3);z-index:1}.hero-card-content{position:relative;z-index:2;width:100%}.hero-card-info{height:40%;padding:var(--spacing-lg);background:#fff;display:flex;flex-direction:column;gap:var(--spacing-md)}.activity-card{background:#fff;border:2px solid #e5e7eb;border-radius:var(--radius-lg);padding:var(--spacing-lg);transition:all var(--transition-base);cursor:pointer;position:relative}.activity-card:hover{border-color:#3b82f6;box-shadow:var(--shadow-md);transform:translateY(-2px)}.activity-card.selected{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.activity-card.disabled{opacity:.6;cursor:not-allowed}.activity-card.disabled:hover{transform:none;box-shadow:none}.badge-modern{display:inline-flex;align-items:center;gap:var(--spacing-xs);padding:.25rem .75rem;font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);border-radius:var(--radius-full);white-space:nowrap;transition:all var(--transition-fast)}.badge-success{background-color:#22c55e1a;color:#16a34a;border:1px solid rgba(34,197,94,.3)}.badge-warning{background-color:#fbbf241a;color:#d97706;border:1px solid rgba(251,191,36,.3)}.badge-error{background-color:#ef44441a;color:#dc2626;border:1px solid rgba(239,68,68,.3)}.badge-info{background-color:#3b82f61a;color:#2563eb;border:1px solid rgba(59,130,246,.3)}.badge-neutral{background-color:#6b72801a;color:#4b5563;border:1px solid rgba(107,114,128,.3)}.badge-glass{background:#ffffff26;-webkit-backdrop-filter:blur(12px) saturate(180%);backdrop-filter:blur(12px) saturate(180%);border:1px solid rgba(255,255,255,.3);color:#fff;text-shadow:0 1px 2px rgba(0,0,0,.2)}.button-modern{display:inline-flex;align-items:center;justify-content:center;gap:var(--spacing-sm);padding:.75rem 1.5rem;font-size:var(--font-size-base);font-weight:600;letter-spacing:-.011em;border-radius:var(--radius-md);border:none;cursor:pointer;transition:all var(--transition-base);white-space:nowrap;line-height:1.5}.button-primary{background:#3b82f6;color:#fff;box-shadow:var(--shadow-sm)}.button-primary:hover{background:#2563eb;box-shadow:var(--shadow-md);transform:translateY(-1px)}.button-secondary{background:#f3f4f6;color:#374151;border:1px solid #e5e7eb;font-weight:550}.button-secondary:hover{background:#e5e7eb;border-color:#d1d5db}.button-success{background:#10b981;color:#fff;box-shadow:var(--shadow-sm)}.button-success:hover{background:#059669;box-shadow:var(--shadow-md)}.button-outline{background:transparent;color:#374151;border:2px solid #e5e7eb;font-weight:550}.button-outline:hover{border-color:#d1d5db;background:#f9fafb}.button-ghost{background:transparent;color:#374151;border:none;font-weight:550}.button-ghost:hover{background:#f3f4f6}.button-modern:disabled{opacity:.5;cursor:not-allowed;transform:none!important}.button-sm{padding:.5rem 1rem;font-size:var(--font-size-sm);letter-spacing:-.008em}.button-lg{padding:1rem 2rem;font-size:var(--font-size-lg);letter-spacing:-.014em}.card-grid{display:grid;gap:var(--spacing-lg);padding-bottom:var(--spacing-xl)}.card-grid-auto{grid-template-columns:repeat(auto-fill,minmax(350px,1fr))}.card-grid-1{grid-template-columns:1fr}.card-grid-2{grid-template-columns:repeat(2,1fr)}.card-grid-3{grid-template-columns:repeat(3,1fr)}.text-hero{font-size:var(--font-size-5xl);font-weight:700;color:#fff;text-shadow:0 2px 12px rgba(0,0,0,.5);letter-spacing:-.032em;line-height:1.05}.text-title{font-size:var(--font-size-2xl);font-weight:650;line-height:1.25;letter-spacing:-.019em}.text-subtitle{font-size:var(--font-size-lg);font-weight:600;line-height:1.4;letter-spacing:-.011em}.text-body{font-size:var(--font-size-base);font-weight:450;line-height:1.65;letter-spacing:-.011em}.text-small{font-size:var(--font-size-sm);font-weight:450;line-height:1.5;letter-spacing:-.008em}.text-tiny{font-size:var(--font-size-xs);font-weight:500;line-height:1.4;letter-spacing:-.006em}.stack-sm>*+*{margin-top:var(--spacing-sm)}.stack-md>*+*{margin-top:var(--spacing-md)}.stack-lg>*+*{margin-top:var(--spacing-lg)}.stack-xl>*+*{margin-top:var(--spacing-xl)}.cluster{display:flex;flex-wrap:wrap;gap:var(--spacing-md);align-items:center}.cluster-sm{gap:var(--spacing-sm)}.cluster-lg{gap:var(--spacing-lg)}@media (min-width: 768px) and (max-width: 1023px){.card-grid-auto{grid-template-columns:repeat(2,1fr)}.hero-card{height:340px}}@media (max-width: 767px){.card-grid,.card-grid-auto{grid-template-columns:1fr;gap:var(--spacing-md)}.hero-card{height:320px}.text-hero{font-size:var(--font-size-3xl)}.text-title{font-size:var(--font-size-xl)}}@media (prefers-color-scheme: dark){.card-modern,.hero-card,.activity-card,.hero-card-info{background:#1f2937;border-color:#374151}.hero-card-overlay{background:linear-gradient(180deg,#0000,#00000080 40%,#000000e6)}.button-secondary{background:#374151;color:#f3f4f6;border-color:#4b5563}.button-secondary:hover{background:#4b5563}.button-outline{color:#f3f4f6;border-color:#4b5563}.button-ghost{color:#f3f4f6}.button-ghost:hover{background:#374151}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.card-modern:focus-visible,.activity-card:focus-visible,.button-modern:focus-visible{outline:2px solid #3b82f6;outline-offset:2px}@media (prefers-contrast: high){.card-modern,.hero-card,.activity-card{border:2px solid currentColor}}.add-flight-container{padding:var(--spacing-lg);max-width:800px;margin:0 auto}.add-flight-title{font-size:2.5rem;font-weight:800;letter-spacing:-.03em;line-height:1.1;margin:0 0 var(--spacing-xl) 0}@media (min-width: 769px){.add-flight-title{font-size:3rem}}@media (max-width: 768px){.add-flight-title{font-size:1.75rem;line-height:1.2}}.add-flight-form{display:flex;flex-direction:column;gap:var(--spacing-lg);background:#fff;border-radius:var(--radius-lg);padding:var(--spacing-xl);box-shadow:var(--shadow-md)}.form-group{display:flex;flex-direction:column;position:relative}.form-group input[type=datetime-local],.form-group input[type=text]{position:static;z-index:auto;transform:none}.form-group label{margin-bottom:var(--spacing-sm);font-weight:var(--font-weight-semibold);font-size:var(--font-size-sm);color:#374151}.form-group input{padding:var(--spacing-md);border-radius:var(--radius-md);border:2px solid #e5e7eb;background-color:#fff;color:#111827;font-size:var(--font-size-base);transition:all var(--transition-fast)}.form-group input:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.form-group input::-moz-placeholder{color:#9ca3af}.form-group input::placeholder{color:#9ca3af}.form-group input[type=datetime-local]{color-scheme:light}.form-row{display:flex;gap:var(--spacing-md)}.form-row .form-group{flex:1}.checkbox-label{display:flex;align-items:center;gap:var(--spacing-sm);cursor:pointer;font-size:var(--font-size-base);font-weight:var(--font-weight-medium)}.connecting-flight-section{border:2px solid #e5e7eb;border-radius:var(--radius-lg);padding:var(--spacing-lg);margin-top:var(--spacing-md);display:flex;flex-direction:column;gap:var(--spacing-md);overflow:visible;position:relative;z-index:1;background:#f9fafb}.connecting-flight-section h4{margin:0;font-size:var(--font-size-lg);font-weight:var(--font-weight-bold);color:#111827}.form-actions{display:flex;gap:var(--spacing-md);margin-top:var(--spacing-md);align-items:stretch}.form-actions>button{all:unset;flex:1 1 0;height:56px;display:flex;align-items:center;justify-content:center;box-sizing:border-box;padding:0 24px;border:none;border-radius:var(--radius-md);color:#fff;font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);cursor:pointer;transition:all var(--transition-base);box-shadow:var(--shadow-sm);white-space:nowrap;line-height:1;font-family:inherit}.form-actions>button[type=submit]{background-color:#3b82f6}.form-actions>button.cancel-button{background-color:#4b5563;border:2px solid #6b7280}.form-actions-secondary{display:flex;gap:var(--spacing-md);margin-top:var(--spacing-md);padding-top:var(--spacing-md);border-top:1px solid #e5e7eb}.delete-button{background-color:#dc3545}.cancel-button{background-color:#4b5563;border:2px solid #6b7280}button[type=submit],.delete-button,.cancel-button{border:none;border-radius:var(--radius-md);padding:var(--spacing-md) var(--spacing-lg);color:#fff;font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);cursor:pointer;transition:all var(--transition-base);box-shadow:var(--shadow-sm);line-height:1.5;vertical-align:middle}.form-actions-secondary>button{width:100%}button[type=submit]{background-color:#3b82f6}button[type=submit]:hover{transform:translateY(-1px);box-shadow:var(--shadow-md)}button:disabled{background-color:#6c757d!important;cursor:not-allowed;transform:none!important}@media (prefers-color-scheme: dark){.add-flight-form{background:#1f2937}.form-group label{color:#f3f4f6}.form-group input{background:#374151;border-color:#4b5563;color:#f3f4f6}.form-group input[type=datetime-local]{color-scheme:dark}.connecting-flight-section{background:#374151;border-color:#4b5563}.connecting-flight-section h4{color:#f3f4f6}.form-actions-secondary{border-top-color:#4b5563}}@media (max-width: 768px){.add-flight-container{padding:var(--spacing-md)}.add-flight-form{padding:var(--spacing-lg)}.form-row{flex-direction:column;gap:var(--spacing-md)}.form-actions,.form-actions-secondary{flex-direction:column}.form-actions>button{height:48px!important;min-height:48px!important;padding:12px 24px!important}}.recs-container{padding:1rem}.flight-info-header{animation:none;transition:all .3s ease}.flight-info-header.warning{animation:pulse-warning 2s infinite}.flight-info-header.urgent{animation:pulse-urgent 1.5s infinite}.flight-info-header.critical{animation:pulse-critical 1s infinite}@keyframes pulse-warning{0%,to{transform:scale(1)}50%{transform:scale(1.02)}}@keyframes pulse-urgent{0%,to{transform:scale(1);box-shadow:0 0 #fd7e14b3}50%{transform:scale(1.03);box-shadow:0 0 0 10px #fd7e1400}}@keyframes pulse-critical{0%,to{transform:scale(1);box-shadow:0 0 #dc3545b3}50%{transform:scale(1.05);box-shadow:0 0 0 15px #dc354500}}@media (max-width: 768px){.flight-info-header{padding:.75rem!important}.flight-info-header>div{flex-direction:column!important;align-items:flex-start!important;gap:1rem!important}.flight-info-header>div>div:last-child{text-align:left!important;align-self:stretch}}.recs-header{display:flex;justify-content:space-between;align-items:center;text-align:left;margin-bottom:2rem;gap:.5rem}.recs-header-content{flex-grow:1}.map-button{background-color:#28a745;color:#fff;padding:.5rem 1rem;border-radius:8px;border:none;text-decoration:none;font-weight:500;cursor:pointer;transition:background-color .2s}.map-button:hover{background-color:#218838}.recs-header h1{margin:0;font-size:2.5rem;font-weight:800;letter-spacing:-.03em;line-height:1.1}.recs-header p{margin:.5rem 0 0;font-size:1rem;font-weight:500;color:#6b7280;letter-spacing:0}@media (min-width: 769px){.recs-header h1{font-size:3rem}.recs-header p{font-size:1.125rem}}@media (max-width: 768px){.recs-header{flex-direction:column;align-items:stretch;gap:1rem}.recs-header h1{font-size:1.75rem;line-height:1.2}.recs-header p{font-size:.9375rem;margin-top:.25rem}.recs-header>div:last-child{display:flex;flex-direction:column;gap:.5rem}.recs-header>div:last-child>label{font-size:.8rem!important;padding:.4rem .6rem!important}.map-button{width:100%;padding:.6rem 1rem;text-align:center}}.recs-list{display:flex;flex-direction:column;gap:var(--spacing-xl)}.recommendation-section>div:last-child,.activities-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--spacing-lg)}@media (max-width: 768px){.recommendation-section>div:last-child,.activities-grid{grid-template-columns:1fr}}@media (min-width: 1400px){.recommendation-section>div:last-child,.activities-grid{grid-template-columns:repeat(3,1fr)}}.rec-card{background:#fff;border:1px solid #e5e7eb;border-radius:12px;padding:0;cursor:pointer;transition:all .3s ease;box-shadow:0 1px 3px #0000001a;position:relative;overflow:hidden;display:flex;flex-direction:column;min-height:420px}.rec-card-image-container{position:relative;width:100%;height:200px;overflow:hidden;flex-shrink:0}.rec-card-background{position:absolute;top:0;left:0;width:100%;height:100%;-o-object-fit:cover;object-fit:cover;opacity:0;transition:opacity .5s ease-in-out;z-index:1}.rec-card-background.loaded{opacity:1}.rec-card-gradient{position:absolute;top:0;left:0;width:100%;height:100%;z-index:0}.rec-card-gradient.culture{background:linear-gradient(135deg,#667eea,#764ba2)}.rec-card-gradient.nature{background:linear-gradient(135deg,#f093fb,#f5576c)}.rec-card-gradient.adventure{background:linear-gradient(135deg,#4facfe,#00f2fe)}.rec-card-gradient.food{background:linear-gradient(135deg,#43e97b,#38f9d7)}.rec-card-gradient.nightlife{background:linear-gradient(135deg,#fa709a,#fee140)}.rec-card-gradient.water{background:linear-gradient(135deg,#30cfd0,#330867)}.rec-card-gradient.underwater{background:linear-gradient(135deg,#a8edea,#fed6e3)}.rec-card-gradient.relaxation{background:linear-gradient(135deg,#ffecd2,#fcb69f)}.rec-card-gradient.default{background:linear-gradient(135deg,#667eea,#764ba2)}.rec-card-overlay{position:absolute;top:0;left:0;width:100%;height:100%;background:linear-gradient(180deg,#0003,#0000,#0000);z-index:2;pointer-events:none}.rec-card-content{position:relative;z-index:1;display:flex;flex-direction:column;flex-grow:1;padding:1.25rem;background:#fff}.rec-card:hover{border-color:#3b82f6;box-shadow:0 4px 12px #00000026;transform:translateY(-2px)}.rec-card.selected{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a,0 4px 12px #00000026}.rec-card.booked{opacity:.6;cursor:not-allowed;position:relative;overflow:hidden}.rec-card.time-conflict,.rec-card.closed{border-color:#dc3545;opacity:.7;cursor:not-allowed}.rec-card.time-conflict:hover,.rec-card.closed:hover{transform:none;box-shadow:var(--shadow-sm)}.time-conflict-badge{position:absolute;top:10px;right:10px;color:#fff;padding:4px 8px;border-radius:12px;font-size:.8rem;font-weight:500}.duration-info{display:flex;flex-direction:column;align-items:flex-end;gap:.125rem}.activity-duration{font-weight:600}.total-time{font-size:.75rem;opacity:.7;font-style:italic}.activity-timing{transition:all .2s ease}.smart-summary{animation:fadeIn .5s ease-in;max-width:800px;margin-left:auto;margin-right:auto}.smart-summary h3{font-size:1.25rem;font-weight:700;letter-spacing:-.015em;line-height:1.2;margin:0}@keyframes fadeIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.recommendation-section{animation:slideIn .6s ease-out}@keyframes slideIn{0%{opacity:0;transform:translate(-20px)}to{opacity:1;transform:translate(0)}}.section-header h3{font-size:1.375rem;font-weight:700;letter-spacing:-.02em;line-height:1.2;color:inherit}.priority-badge{animation:pulse 2s infinite}.trust-badge{animation:shimmer 2s infinite linear}@keyframes shimmer{0%{box-shadow:0 0 5px #28a7454d}50%{box-shadow:0 0 15px #28a74599}to{box-shadow:0 0 5px #28a7454d}}.safety-badge{animation:pulse-safety 3s infinite}@keyframes pulse-safety{0%,to{transform:scale(1)}50%{transform:scale(1.02)}}.trust-cert{animation:fadeIn .8s ease-in}.trust-metrics{animation:slideUp .6s ease-out}@keyframes slideUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.trust-section{animation:slideUp .5s ease-out}.activity-badges{z-index:10}.rec-card .rec-card-header{margin-top:0}.rec-card:has(.activity-badges) .rec-card-header{margin-top:2.5rem}.rec-card.has-priority-badge .rec-card-header,.rec-card.has-safety-badges .rec-card-header{margin-top:2.5rem}@media (max-width: 768px){.trust-metrics{flex-direction:column!important;gap:.5rem;align-items:flex-start!important}.trust-metrics>div{font-size:.75rem!important}.trust-section{padding:.5rem!important}.trust-section>div:first-child{flex-direction:column!important;align-items:flex-start!important;gap:.5rem}.activity-badges{position:relative!important;top:auto!important;left:auto!important;right:auto!important;margin-bottom:.5rem}.activity-badges>div:first-child{flex-wrap:wrap!important;gap:2px!important}.priority-badge{font-size:.65rem!important;padding:3px 6px!important}.safety-badge{font-size:.6rem!important;padding:3px 6px!important}.trust-cert{font-size:.55rem!important;padding:2px 4px!important}}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}@media (max-width: 768px){.smart-summary{padding:.75rem!important;margin-bottom:1rem!important}.smart-summary h3{font-size:1rem!important;margin-bottom:.5rem!important}.smart-summary>div{font-size:.8rem!important;flex-direction:column!important;gap:.5rem!important}.recommendation-section{margin-bottom:1.5rem!important}.section-header{margin-bottom:.75rem!important;padding-bottom:.375rem!important}.section-header h3{font-size:1rem!important}.section-header p{font-size:.85rem!important}.priority-badge{top:5px!important;left:5px!important;font-size:.7rem!important;padding:3px 6px!important}.activity-timing{padding:.5rem!important;font-size:.8rem!important}.activity-timing>div:first-child{flex-direction:column!important;align-items:flex-start!important;gap:.25rem}.duration-info{align-items:flex-start}.time-conflict-badge{position:relative;top:auto;right:auto;margin-bottom:.5rem;display:inline-block}}.rec-card.booked .rec-card-header{margin-top:1.2rem}.booked-badge{position:absolute;top:10px;right:10px;color:#fff;padding:4px 8px;border-radius:12px;font-size:.8rem;font-weight:500}.rec-card-header{display:flex;justify-content:space-between;align-items:flex-start}.rec-card-header h3{margin:0 0 .5rem;font-size:1.125rem;font-weight:600;letter-spacing:-.01em;line-height:1.4;color:#111827;word-wrap:break-word;overflow-wrap:break-word;-webkit-hyphens:auto;hyphens:auto;max-width:100%;flex:1;padding-right:.75rem}.rec-meta{display:flex;flex-direction:column;align-items:flex-end;gap:.25rem;font-weight:500;color:#6b7280;font-size:.875rem}.rec-card p{margin:.5rem 0 0;font-size:.875rem;line-height:1.5;color:#4b5563}.rec-footer{display:flex;justify-content:space-between;align-items:center;font-size:.875rem;margin-top:auto;padding-top:1rem;border-top:1px solid #f3f4f6;color:#6b7280}.rec-footer-left{display:flex;align-items:center;gap:.75rem}.rec-category{background-color:#3b82f61a;color:#2563eb;border:1px solid rgba(59,130,246,.3);padding:var(--spacing-xs) var(--spacing-sm);border-radius:var(--radius-full);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold)}.reviews-button{background:#f9fafb;border:1px solid #e5e7eb;color:#374151;border-radius:6px;padding:.5rem .75rem;cursor:pointer;font-size:.875rem;font-weight:500;transition:all .2s ease}.reviews-button:hover{background-color:#f3f4f6;border-color:#d1d5db}.booking-footer{position:relative;max-width:600px;width:100%;padding:var(--spacing-lg);padding-top:2.5rem;border:1px solid #e5e7eb;border-radius:var(--radius-lg);margin-top:var(--spacing-xl);margin-bottom:var(--spacing-xl);margin-left:auto;margin-right:auto;box-shadow:var(--shadow-md);background:#fffffff2}.book-button{width:100%;border:none;border-radius:var(--radius-md);padding:var(--spacing-md) var(--spacing-lg);color:#fff;font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);cursor:pointer;background-color:#3b82f6;transition:all var(--transition-base);box-shadow:var(--shadow-sm)}.book-button:hover{background-color:#2563eb;box-shadow:var(--shadow-md);transform:translateY(-1px)}@media (prefers-color-scheme: dark){.rec-card{background:#1f2937;border-color:#374151}.booking-footer{background:#1f2937f2;border-color:#374151}.reviews-button{background:#374151;border-color:#4b5563;color:#f3f4f6}.reviews-button:hover{background:#4b5563;border-color:#6b7280}}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#0009;display:flex;align-items:center;justify-content:center;z-index:1000}.modal-content{width:90%;max-width:600px;max-height:80vh;border-radius:12px;display:flex;flex-direction:column;overflow:hidden}.modal-header{display:flex;justify-content:space-between;align-items:flex-start;padding:1rem 1.5rem;border-bottom:1px solid}.modal-header h2{margin:0;font-size:1.2rem}.header-stats{display:flex;align-items:center;gap:.5rem;font-size:.9rem;opacity:.8}.close-button{background:none;border:none;font-size:1.8rem;cursor:pointer;line-height:1;padding:0}.modal-body{padding:1.5rem;overflow-y:auto}.filter-container{display:flex;gap:.5rem;margin-bottom:1.5rem;padding-bottom:1rem;border-bottom:1px solid;border-color:inherit}.filter-button{background-color:transparent;border:1px solid;border-color:inherit;border-radius:16px;padding:.5rem 1rem;cursor:pointer;color:inherit;font-size:.9rem}.filter-button.active{background-color:#007bff;color:#fff;border-color:#007bff}.stars-container{color:#ffc107}.rating-number{color:inherit;margin-left:.5rem}.review-card{padding-bottom:1rem;margin-bottom:1rem;border-bottom:1px solid}.review-card:last-child{border-bottom:none;margin-bottom:0}.review-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem}.reviewer-info{display:flex;align-items:center}.review-text{font-size:.9rem;line-height:1.5;margin-bottom:.5rem}.review-footer{display:flex;justify-content:space-between;align-items:center;font-size:.8rem;opacity:.9;margin-top:.75rem}.review-footer-left{display:flex;align-items:center;gap:.75rem}.verified-badge{padding:2px 8px;border-radius:12px;font-size:.7rem;font-weight:500}.helpful-votes{font-weight:500}.modal-footer{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.5rem;border-top:1px solid;border-color:inherit}.modal-footer button{background-color:transparent;border:1px solid;border-color:inherit;border-radius:6px;padding:.5rem 1rem;cursor:pointer;color:inherit}.modal-footer button:disabled{opacity:.5;cursor:not-allowed}.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::-moz-selection{background:transparent}.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{touch-action:pan-x pan-y}.leaflet-container.leaflet-touch-drag{touch-action:none;touch-action:pinch-zoom}.leaflet-container.leaflet-touch-drag.leaflet-touch-zoom{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;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;transition:opacity .2s linear}.leaflet-fade-anim .leaflet-map-pane .leaflet-popup{opacity:1}.leaflet-zoom-animated{transform-origin:0 0}svg.leaflet-zoom-animated{will-change:transform}.leaflet-zoom-anim .leaflet-zoom-animated{transition:transform .25s cubic-bezier(0,0,.25,1)}.leaflet-zoom-anim .leaflet-tile,.leaflet-pan-anim .leaflet-tile{transition:none}.leaflet-zoom-anim .leaflet-zoom-hide{visibility:hidden}.leaflet-interactive{cursor:pointer}.leaflet-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: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;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;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;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}}.timeline-view{max-width:100%;min-height:200px;max-height:40vh;flex-shrink:0;animation:fadeIn .3s ease-in;display:flex;flex-direction:column}.timeline-items{flex:1;overflow-y:auto;overflow-x:hidden}.timeline-item{animation:slideIn .3s ease-out}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideIn{0%{transform:translate(-10px);opacity:0}to{transform:translate(0);opacity:1}}.timeline-items::-webkit-scrollbar{width:8px}.timeline-items::-webkit-scrollbar-track{background:transparent}.timeline-items::-webkit-scrollbar-thumb{background:#0003;border-radius:4px}.timeline-items::-webkit-scrollbar-thumb:hover{background:#0000004d}@media (min-width: 1024px){.timeline-view{max-height:calc(100vh - 250px);height:100%}.timeline-items{max-height:none}}@media (min-width: 768px) and (max-width: 1023px){.timeline-view{max-height:calc(100vh - 350px)}.timeline-items{max-height:none}}@media (max-width: 768px){.timeline-view{padding:1rem;max-height:250px}.timeline-items{max-height:200px}}.map-page-container{display:flex;flex-direction:column;min-height:100vh;padding:1rem;gap:1rem;overflow-x:hidden}.map-header{padding-bottom:1rem;display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;flex-wrap:wrap;flex-shrink:0}.map-header h1{margin:0;font-size:1.5rem}.transport-mode-selector{margin-top:.5rem}.timeline-summary-sticky{display:block}.map-timeline-container{display:flex;flex-direction:column;gap:1rem;flex:1}.map-section{width:100%}.map-view{width:100%;height:40vh;min-height:300px;border-radius:8px;border:1px solid #ccc;z-index:1}.timeline-section{width:100%;overflow-y:auto}.custom-marker{background-color:#007bff;color:#fff;border-radius:50%;width:30px;height:30px;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:14px;border:2px solid white;box-shadow:0 2px 5px #0000004d}.airport-marker .custom-marker{background-color:#28a745;font-size:18px}@media (min-width: 1024px){.map-timeline-container{flex-direction:row;align-items:stretch;overflow:hidden}.map-section{width:50%;flex-shrink:0}.map-view{height:calc(100vh - 250px);min-height:500px}.timeline-section{width:50%;overflow-y:auto;padding-left:1rem}.timeline-summary-sticky{display:none}}@media (min-width: 768px) and (max-width: 1023px){.map-timeline-container{flex-direction:row;align-items:stretch}.map-section{width:45%;flex-shrink:0}.map-view{height:calc(100vh - 300px);min-height:400px}.timeline-section{width:55%;overflow-y:auto;padding-left:1rem}.timeline-summary-sticky{display:none}}@media (max-width: 767px){.map-header{flex-direction:column;align-items:stretch;gap:.75rem}.transport-mode-selector{margin-top:0;justify-content:center}.transport-mode-selector span{display:none}.map-header h1{font-size:1.3rem;text-align:center}.map-view{height:35vh;min-height:250px}.timeline-summary-sticky{display:block}.map-timeline-container{flex-direction:column}}.bookings-container{padding:var(--spacing-md);min-height:100vh}.bookings-header{margin-bottom:var(--spacing-lg)}.bookings-title{font-size:var(--font-size-xl);font-weight:var(--font-weight-bold);line-height:var(--line-height-tight);margin:0 0 var(--spacing-md) 0}.filter-buttons{display:flex;gap:var(--spacing-sm);flex-wrap:wrap;margin-bottom:var(--spacing-sm)}.filter-btn{padding:var(--spacing-sm) var(--spacing-md);border:1px solid;border-radius:var(--radius-md);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);cursor:pointer;transition:all .2s ease;white-space:nowrap;min-height:var(--touch-target-min);min-width:var(--touch-target-min);display:flex;align-items:center;justify-content:center}.filter-btn:hover{opacity:.9;transform:translateY(-1px)}.filter-btn:active{transform:translateY(0)}.filter-btn.active{font-weight:var(--font-weight-semibold);box-shadow:0 2px 4px #0000001a}@media (max-width: 768px){.filter-buttons{display:grid;grid-template-columns:1fr 1fr;gap:var(--spacing-sm)}.filter-btn{font-size:var(--font-size-xs);padding:var(--spacing-sm)}}.airport-badge{display:inline-flex;align-items:center;padding:var(--spacing-xs) 12px;background-color:#4299e126;color:#2563eb;border-radius:var(--radius-sm);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);text-transform:uppercase;letter-spacing:.5px;white-space:nowrap}.payment-badge{display:inline-flex;align-items:center;padding:var(--spacing-xs) 12px;background-color:#10b98126;color:#059669;border-radius:var(--radius-sm);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);white-space:nowrap;flex-shrink:0;width:-moz-fit-content;width:fit-content}.activity-badge{display:inline-flex;align-items:center;padding:var(--spacing-xs) 10px;background-color:#10b98126;color:#059669;border-radius:var(--radius-sm);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);white-space:nowrap;flex-shrink:0;width:-moz-fit-content;width:fit-content}@media (prefers-color-scheme: dark){.airport-badge{background-color:#4299e140;color:#60a5fa}.payment-badge,.activity-badge{background-color:#10b98140;color:#34d399}}.bookings-list{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--spacing-lg)}@media (min-width: 1400px){.bookings-list{grid-template-columns:repeat(3,1fr)}}.booking-card{background:#fff;border:2px solid #e5e7eb;border-radius:var(--radius-lg);padding:var(--spacing-lg);transition:all var(--transition-base);box-shadow:var(--shadow-sm)}.booking-card:hover{box-shadow:var(--shadow-md);transform:translateY(-2px);border-color:#d1d5db}.booking-card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-md);padding-bottom:var(--spacing-md);border-bottom:1px solid;border-color:inherit;gap:var(--spacing-sm)}.booking-id{font-weight:var(--font-weight-bold);font-size:var(--font-size-md);line-height:var(--line-height-tight);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0}.booking-id-full{display:inline}.booking-id-truncated{display:none}@media (max-width: 768px){.bookings-list{grid-template-columns:1fr}.booking-id-full{display:none}.booking-id-truncated{display:inline}}.status-badge{padding:var(--spacing-xs) 12px;border-radius:var(--radius-full);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);color:#fff;text-transform:capitalize;white-space:nowrap;flex-shrink:0}.status-confirmed{background-color:#28a745}.status-pending{background-color:#ffc107;color:#343a40}.booking-details{display:flex;flex-wrap:wrap;gap:var(--spacing-sm);margin-bottom:var(--spacing-md);font-size:var(--font-size-sm);line-height:var(--line-height-normal);opacity:.9}.booking-date{color:inherit;opacity:.8}.booking-total{font-weight:var(--font-weight-bold);font-size:var(--font-size-base);margin-left:auto}.activities-list h4{margin-top:0;margin-bottom:var(--spacing-sm);font-size:var(--font-size-base);font-weight:var(--font-weight-semibold)}.activities-list ul{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:var(--spacing-sm)}.activities-list li{display:flex;justify-content:space-between;align-items:center;gap:var(--spacing-sm);font-size:var(--font-size-sm);min-height:32px}.activity-price{font-weight:var(--font-weight-semibold);color:inherit;white-space:nowrap;flex-shrink:0}@media (max-width: 768px){.activities-list li{gap:var(--spacing-xs);align-items:flex-start;min-height:36px;flex-wrap:wrap}.activity-badge{font-size:var(--font-size-xs);white-space:normal!important;word-break:break-word;line-height:var(--line-height-normal);width:auto;max-width:70%;flex:1 1 auto}.activity-price{margin-top:2px;flex:0 0 auto;min-width:60px;text-align:right}}.cancel-button{width:100%;border:none;border-radius:var(--radius-md);padding:var(--spacing-md);min-height:var(--touch-target-min);color:#fff;font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);cursor:pointer;margin-top:var(--spacing-lg);transition:all var(--transition-base);display:flex;align-items:center;justify-content:center;box-shadow:var(--shadow-sm)}.cancel-button:hover{opacity:.95;transform:translateY(-1px);box-shadow:var(--shadow-md)}.cancel-button:active{transform:translateY(0)}@media (prefers-color-scheme: dark){.booking-card{background:#1f2937;border-color:#374151}}@media (prefers-reduced-motion: reduce){.filter-btn,.booking-card,.cancel-button{transition:none;transform:none!important}.filter-btn:hover,.cancel-button:hover{transform:none}}.profile-container{display:flex;flex-direction:column;gap:1.5rem;max-width:800px;margin-left:auto;margin-right:auto;padding:1rem}.profile-title{font-size:2.5rem;font-weight:800;letter-spacing:-.03em;line-height:1.1;margin:0}@media (min-width: 769px){.profile-title{font-size:3rem}}@media (max-width: 768px){.profile-title{font-size:1.75rem;line-height:1.2}}.profile-section{border:1px solid;border-color:inherit;border-radius:.75rem;padding:1.5rem}.profile-section h2{margin-top:0;font-size:1.375rem;font-weight:700;letter-spacing:-.02em;line-height:1.2}.section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem;gap:1rem;flex-wrap:wrap}.section-header h2{margin:0}.edit-interests-button{border:none;border-radius:var(--radius-md, .5rem);padding:var(--spacing-sm, .5rem) var(--spacing-lg, 1.5rem);font-size:var(--font-size-sm, .875rem);font-weight:var(--font-weight-semibold, 600);cursor:pointer;transition:all .2s ease;min-height:var(--touch-target-min, 44px);display:flex;align-items:center;gap:var(--spacing-xs, .25rem);white-space:nowrap}.edit-interests-button:hover{opacity:.9;transform:translateY(-1px)}.edit-interests-button:active{transform:translateY(0)}.interests-display-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:var(--spacing-md, 1rem)}.interest-display-chip{position:relative;border-radius:12px;overflow:hidden;padding:var(--spacing-lg, 1.5rem);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--spacing-xs, .5rem);min-height:120px;text-align:center;box-shadow:0 2px 8px #0000001a;color:#fff}.interest-display-chip:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(180deg,#0000004d,#0009);z-index:1}.chip-emoji{font-size:2rem;position:relative;z-index:2}.chip-label{font-size:var(--font-size-sm, .875rem);font-weight:var(--font-weight-semibold, 600);position:relative;z-index:2;text-shadow:0 2px 4px rgba(0,0,0,.3)}.no-interests{text-align:center;padding:var(--spacing-xl, 2rem)}.no-interests p{margin:var(--spacing-xs, .5rem) 0}@media (max-width: 768px){.section-header{flex-direction:column;align-items:stretch}.edit-interests-button{width:100%;justify-content:center}.interests-display-grid{grid-template-columns:repeat(2,1fr);gap:var(--spacing-sm, .75rem)}.interest-display-chip{min-height:100px;padding:var(--spacing-md, 1rem)}.chip-emoji{font-size:1.5rem}.chip-label{font-size:var(--font-size-xs, .75rem)}}@media (prefers-reduced-motion: reduce){.edit-interests-button{transition:none}.edit-interests-button:hover,.edit-interests-button:active{transform:none}}.setting-item{display:flex;justify-content:space-between;align-items:center}.interests-grid{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1.5rem}.interest-chip{border:1px solid;border-radius:20px;padding:.5rem 1rem;cursor:pointer;background-color:transparent;font-size:.9rem}.interest-chip.selected{color:#fff}.save-button,.logout-button{width:100%;border:none;border-radius:.5rem;padding:.9rem;color:#fff;font-size:1rem;font-weight:600;cursor:pointer}.save-button{background-color:#28a745}.save-button:disabled{background-color:#6c757d;cursor:not-allowed}.interest-card{position:relative;border-radius:12px;overflow:hidden;cursor:pointer;transition:all .3s ease;aspect-ratio:1 / 1;min-height:150px;box-shadow:0 2px 8px #0000001a}.card-background{width:100%;height:100%;position:relative}.card-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(180deg,#0000004d,#000000b3);display:flex;flex-direction:column;align-items:center;justify-content:center;padding:1rem;color:#fff;transition:background .3s ease}.interest-card:not(.selected) .card-overlay{background:linear-gradient(180deg,#0006,#000c)}.interest-card.selected{border:3px solid var(--color-primary, #007bff);transform:scale(.95);box-shadow:0 4px 16px #007bff4d}.interest-card.selected .card-overlay{background:linear-gradient(180deg,#007bff99,#007bffd9)}.card-emoji{font-size:2.5rem;margin-bottom:.5rem;line-height:1}.card-title{font-size:1rem;font-weight:600;text-align:center;margin:0;text-shadow:0 2px 4px rgba(0,0,0,.3);line-height:1.3}.checkmark{position:absolute;top:8px;right:8px;width:28px;height:28px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:1.2rem;box-shadow:0 2px 8px #0000004d;animation:checkmarkPop .3s ease}@keyframes checkmarkPop{0%{transform:scale(0)}50%{transform:scale(1.2)}to{transform:scale(1)}}.interest-card:hover{transform:translateY(-4px);box-shadow:0 8px 20px #0003}.interest-card.selected:hover{transform:scale(.93) translateY(-2px)}.interest-card:focus{outline:2px solid var(--color-primary, #007bff);outline-offset:2px}@media (max-width: 480px){.interest-card{min-height:120px}.card-emoji{font-size:2rem}.card-title{font-size:.85rem}.checkmark{width:24px;height:24px;font-size:1rem;top:6px;right:6px}}@media (min-width: 481px) and (max-width: 768px){.interest-card{min-height:140px}.card-emoji{font-size:2.2rem}.card-title{font-size:.95rem}}@media (prefers-reduced-motion: reduce){.interest-card,.card-overlay,.checkmark{transition:none;animation:none}.interest-card:hover,.interest-card.selected,.interest-card.selected:hover{transform:none}}@media (prefers-color-scheme: dark){.interest-card{box-shadow:0 2px 8px #0000004d}.interest-card:hover{box-shadow:0 8px 20px #0006}.interest-card.selected{box-shadow:0 4px 16px #007bff80}}.interest-selection-container{min-height:100vh;display:flex;justify-content:center;align-items:flex-start;padding:var(--spacing-lg, 1.5rem)}.interest-selection-content{width:100%;max-width:1200px;display:flex;flex-direction:column;gap:var(--spacing-xl, 2rem)}.interest-selection-header{text-align:center;padding:var(--spacing-lg, 1.5rem) 0}.interest-title{font-size:var(--font-size-3xl, 1.875rem);font-weight:var(--font-weight-bold, 700);margin:0 0 var(--spacing-md, 1rem) 0;line-height:var(--line-height-tight, 1.25)}.interest-subtitle{font-size:var(--font-size-lg, 1.125rem);opacity:.8;margin:0;line-height:var(--line-height-normal, 1.5)}.interests-grid{display:grid;gap:var(--spacing-lg, 1.5rem);grid-template-columns:repeat(4,1fr)}@media (max-width: 1024px){.interests-grid{grid-template-columns:repeat(3,1fr)}}@media (max-width: 768px){.interests-grid{grid-template-columns:repeat(3,1fr);gap:var(--spacing-md, 1rem)}}@media (max-width: 480px){.interests-grid{grid-template-columns:repeat(2,1fr);gap:var(--spacing-sm, .75rem)}}.interest-selection-footer{display:flex;flex-direction:column;gap:var(--spacing-md, 1rem);padding:var(--spacing-lg, 1.5rem) 0;position:sticky;bottom:0;background:inherit;padding-bottom:var(--spacing-xl, 2rem)}.selection-counter{padding:var(--spacing-md, 1rem);border-radius:var(--radius-lg, .75rem);border:1px solid;text-align:center;font-size:var(--font-size-base, 1rem);display:flex;flex-direction:column;gap:var(--spacing-xs, .5rem)}.counter-text{font-size:var(--font-size-base, 1rem)}.counter-hint{font-size:var(--font-size-sm, .875rem);font-weight:var(--font-weight-medium, 500)}.continue-button{width:100%;padding:var(--spacing-lg, 1.5rem);border:none;border-radius:var(--radius-lg, .75rem);font-size:var(--font-size-lg, 1.125rem);font-weight:var(--font-weight-semibold, 600);transition:all .2s ease;min-height:var(--touch-target-min, 44px);box-shadow:0 2px 8px #0000001a}.continue-button:not(:disabled){box-shadow:0 4px 12px #007bff4d}.continue-button:not(:disabled):hover{transform:translateY(-2px);box-shadow:0 6px 16px #007bff66}.continue-button:not(:disabled):active{transform:translateY(0)}.continue-button:disabled{cursor:not-allowed}@media (max-width: 480px){.interest-selection-container{padding:var(--spacing-md, 1rem)}.interest-selection-content{gap:var(--spacing-lg, 1.5rem)}.interest-selection-header{padding:var(--spacing-md, 1rem) 0}.interest-title{font-size:var(--font-size-2xl, 1.5rem)}.interest-subtitle{font-size:var(--font-size-base, 1rem)}.selection-counter{padding:var(--spacing-sm, .75rem);font-size:var(--font-size-sm, .875rem)}.counter-text{font-size:var(--font-size-sm, .875rem)}.counter-hint{font-size:var(--font-size-xs, .75rem)}.continue-button{padding:var(--spacing-md, 1rem);font-size:var(--font-size-base, 1rem)}.interest-selection-footer{padding-bottom:var(--spacing-lg, 1.5rem)}}@media (min-width: 481px) and (max-width: 768px){.interest-title{font-size:var(--font-size-2xl, 1.5rem)}.interest-subtitle{font-size:var(--font-size-base, 1rem)}}@media (prefers-reduced-motion: reduce){.continue-button{transition:none}.continue-button:not(:disabled):hover{transform:none}.continue-button:not(:disabled):active{transform:none}}@media (prefers-color-scheme: dark){.continue-button:not(:disabled){box-shadow:0 4px 12px #007bff80}.continue-button:not(:disabled):hover{box-shadow:0 6px 16px #007bff99}}*,:before,:after{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }*,:before,:after{box-sizing:border-box;border-width:0;border-style:solid;border-color:#e5e7eb}:before,:after{--tw-content: ""}html,:host{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol,"Noto Color Emoji";font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.sticky{position:sticky}.mb-1{margin-bottom:.25rem}.mb-4{margin-bottom:1rem}.mb-6{margin-bottom:1.5rem}.mt-1{margin-top:.25rem}.block{display:block}.inline-block{display:inline-block}.flex{display:flex}.inline-flex{display:inline-flex}.hidden{display:none}.h-10{height:2.5rem}.h-8{height:2rem}.h-9{height:2.25rem}.h-auto{height:auto}.min-h-screen{min-height:100vh}.w-9{width:2.25rem}.w-full{width:100%}.min-w-0{min-width:0px}.min-w-\[60px\]{min-width:60px}.max-w-full{max-width:100%}.flex-1{flex:1 1 0%}.flex-shrink-0{flex-shrink:0}.cursor-pointer{cursor:pointer}.resize{resize:both}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.items-center{align-items:center}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-1{gap:.25rem}.gap-2{gap:.5rem}.gap-3{gap:.75rem}.gap-4{gap:1rem}.space-y-1\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.375rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.375rem * var(--tw-space-y-reverse))}.space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(1rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1rem * var(--tw-space-y-reverse))}.whitespace-nowrap{white-space:nowrap}.rounded-full{border-radius:9999px}.rounded-md{border-radius:calc(var(--radius) - 2px)}.rounded-xl{border-radius:.75rem}.border{border-width:1px}.border-input{border-color:hsl(var(--input))}.border-transparent{border-color:transparent}.bg-background{background-color:hsl(var(--background))}.bg-card{background-color:hsl(var(--card))}.bg-destructive{background-color:hsl(var(--destructive))}.bg-green-100{--tw-bg-opacity: 1;background-color:rgb(220 252 231 / var(--tw-bg-opacity, 1))}.bg-primary{background-color:hsl(var(--primary))}.bg-secondary{background-color:hsl(var(--secondary))}.bg-yellow-100{--tw-bg-opacity: 1;background-color:rgb(254 249 195 / var(--tw-bg-opacity, 1))}.p-4{padding:1rem}.p-6{padding:1.5rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-2\.5{padding-left:.625rem;padding-right:.625rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-4{padding-left:1rem;padding-right:1rem}.px-8{padding-left:2rem;padding-right:2rem}.py-0\.5{padding-top:.125rem;padding-bottom:.125rem}.py-1{padding-top:.25rem;padding-bottom:.25rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.pb-3{padding-bottom:.75rem}.pt-0{padding-top:0}.text-2xl{font-size:1.5rem;line-height:2rem}.text-3xl{font-size:1.875rem;line-height:2.25rem}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xs{font-size:.75rem;line-height:1rem}.font-bold{font-weight:700}.font-medium{font-weight:500}.font-semibold{font-weight:600}.uppercase{text-transform:uppercase}.italic{font-style:italic}.leading-none{line-height:1}.tracking-tight{letter-spacing:-.025em}.tracking-wide{letter-spacing:.025em}.text-blue-600{--tw-text-opacity: 1;color:rgb(37 99 235 / var(--tw-text-opacity, 1))}.text-card-foreground{color:hsl(var(--card-foreground))}.text-destructive-foreground{color:hsl(var(--destructive-foreground))}.text-foreground{color:hsl(var(--foreground))}.text-green-600{--tw-text-opacity: 1;color:rgb(22 163 74 / var(--tw-text-opacity, 1))}.text-green-800{--tw-text-opacity: 1;color:rgb(22 101 52 / var(--tw-text-opacity, 1))}.text-muted-foreground{color:hsl(var(--muted-foreground))}.text-primary{color:hsl(var(--primary))}.text-primary-foreground{color:hsl(var(--primary-foreground))}.text-secondary-foreground{color:hsl(var(--secondary-foreground))}.text-yellow-600{--tw-text-opacity: 1;color:rgb(202 138 4 / var(--tw-text-opacity, 1))}.text-yellow-800{--tw-text-opacity: 1;color:rgb(133 77 14 / var(--tw-text-opacity, 1))}.underline-offset-4{text-underline-offset:4px}.opacity-50{opacity:.5}.opacity-60{opacity:.6}.shadow{--tw-shadow: 0 1px 3px 0 rgb(0 0 0 / .1), 0 1px 2px -1px rgb(0 0 0 / .1);--tw-shadow-colored: 0 1px 3px 0 var(--tw-shadow-color), 0 1px 2px -1px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-lg{--tw-shadow: 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1);--tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-sm{--tw-shadow: 0 1px 2px 0 rgb(0 0 0 / .05);--tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.outline{outline-style:solid}.ring-offset-background{--tw-ring-offset-color: hsl(var(--background))}.blur{--tw-blur: blur(8px);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-all{transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-shadow{transition-property:box-shadow;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.duration-200{transition-duration:.2s}@keyframes enter{0%{opacity:var(--tw-enter-opacity, 1);transform:translate3d(var(--tw-enter-translate-x, 0),var(--tw-enter-translate-y, 0),0) scale3d(var(--tw-enter-scale, 1),var(--tw-enter-scale, 1),var(--tw-enter-scale, 1)) rotate(var(--tw-enter-rotate, 0))}}@keyframes exit{to{opacity:var(--tw-exit-opacity, 1);transform:translate3d(var(--tw-exit-translate-x, 0),var(--tw-exit-translate-y, 0),0) scale3d(var(--tw-exit-scale, 1),var(--tw-exit-scale, 1),var(--tw-exit-scale, 1)) rotate(var(--tw-exit-rotate, 0))}}.duration-200{animation-duration:.2s}:root{font-family:Inter,system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;--background: 0 0% 100%;--foreground: 222.2 84% 4.9%;--card: 0 0% 100%;--card-foreground: 222.2 84% 4.9%;--popover: 0 0% 100%;--popover-foreground: 222.2 84% 4.9%;--primary: 221.2 83.2% 53.3%;--primary-foreground: 210 40% 98%;--secondary: 210 40% 96.1%;--secondary-foreground: 222.2 47.4% 11.2%;--muted: 210 40% 96.1%;--muted-foreground: 215.4 16.3% 46.9%;--accent: 210 40% 96.1%;--accent-foreground: 222.2 47.4% 11.2%;--destructive: 0 84.2% 60.2%;--destructive-foreground: 210 40% 98%;--border: 214.3 31.8% 91.4%;--input: 214.3 31.8% 91.4%;--ring: 221.2 83.2% 53.3%;--radius: .5rem;--font-size-xs: .75rem;--font-size-sm: .875rem;--font-size-base: 1rem;--font-size-md: 1.125rem;--font-size-lg: 1.25rem;--font-size-xl: 1.5rem;--font-size-2xl: 1.875rem;--font-size-3xl: 2.25rem;--font-weight-normal: 400;--font-weight-medium: 500;--font-weight-semibold: 600;--font-weight-bold: 700;--line-height-tight: 1.25;--line-height-normal: 1.5;--line-height-relaxed: 1.75;--spacing-xs: .25rem;--spacing-sm: .5rem;--spacing-md: 1rem;--spacing-lg: 1.5rem;--spacing-xl: 2rem;--spacing-2xl: 3rem;--touch-target-min: 44px}.dark{--background: 222.2 84% 4.9%;--foreground: 210 40% 98%;--card: 222.2 84% 4.9%;--card-foreground: 210 40% 98%;--popover: 222.2 84% 4.9%;--popover-foreground: 210 40% 98%;--primary: 217.2 91.2% 59.8%;--primary-foreground: 222.2 47.4% 11.2%;--secondary: 217.2 32.6% 17.5%;--secondary-foreground: 210 40% 98%;--muted: 217.2 32.6% 17.5%;--muted-foreground: 215 20.2% 65.1%;--accent: 217.2 32.6% 17.5%;--accent-foreground: 210 40% 98%;--destructive: 0 62.8% 30.6%;--destructive-foreground: 210 40% 98%;--border: 217.2 32.6% 17.5%;--input: 217.2 32.6% 17.5%;--ring: 224.3 76.3% 48%}body{margin:0;min-width:320px;min-height:100vh}.text-xs{font-size:var(--font-size-xs)}.text-sm{font-size:var(--font-size-sm)}.text-base{font-size:var(--font-size-base)}.text-md{font-size:var(--font-size-md)}.text-lg{font-size:var(--font-size-lg)}.text-xl{font-size:var(--font-size-xl)}.text-2xl{font-size:var(--font-size-2xl)}.text-3xl{font-size:var(--font-size-3xl)}.font-normal{font-weight:var(--font-weight-normal)}.font-medium{font-weight:var(--font-weight-medium)}.font-semibold{font-weight:var(--font-weight-semibold)}.font-bold{font-weight:var(--font-weight-bold)}.leading-tight{line-height:var(--line-height-tight)}.leading-normal{line-height:var(--line-height-normal)}.leading-relaxed{line-height:var(--line-height-relaxed)}.file\:border-0::file-selector-button{border-width:0px}.file\:bg-transparent::file-selector-button{background-color:transparent}.file\:text-sm::file-selector-button{font-size:.875rem;line-height:1.25rem}.file\:font-medium::file-selector-button{font-weight:500}.placeholder\:text-muted-foreground::-moz-placeholder{color:hsl(var(--muted-foreground))}.placeholder\:text-muted-foreground::placeholder{color:hsl(var(--muted-foreground))}.hover\:-translate-y-1:hover{--tw-translate-y: -.25rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.hover\:bg-accent:hover{background-color:hsl(var(--accent))}.hover\:bg-destructive\/80:hover{background-color:hsl(var(--destructive) / .8)}.hover\:bg-destructive\/90:hover{background-color:hsl(var(--destructive) / .9)}.hover\:bg-green-50:hover{--tw-bg-opacity: 1;background-color:rgb(240 253 244 / var(--tw-bg-opacity, 1))}.hover\:bg-primary\/80:hover{background-color:hsl(var(--primary) / .8)}.hover\:bg-primary\/90:hover{background-color:hsl(var(--primary) / .9)}.hover\:bg-secondary\/80:hover{background-color:hsl(var(--secondary) / .8)}.hover\:text-accent-foreground:hover{color:hsl(var(--accent-foreground))}.hover\:text-green-700:hover{--tw-text-opacity: 1;color:rgb(21 128 61 / var(--tw-text-opacity, 1))}.hover\:underline:hover{text-decoration-line:underline}.hover\:shadow-lg:hover{--tw-shadow: 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1);--tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.hover\:shadow-xl:hover{--tw-shadow: 0 20px 25px -5px rgb(0 0 0 / .1), 0 8px 10px -6px rgb(0 0 0 / .1);--tw-shadow-colored: 0 20px 25px -5px var(--tw-shadow-color), 0 8px 10px -6px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.focus\:outline-none:focus{outline:2px solid transparent;outline-offset:2px}.focus\:ring-2:focus{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.focus\:ring-ring:focus{--tw-ring-color: hsl(var(--ring))}.focus\:ring-offset-2:focus{--tw-ring-offset-width: 2px}.focus-visible\:outline-none:focus-visible{outline:2px solid transparent;outline-offset:2px}.focus-visible\:ring-1:focus-visible{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.focus-visible\:ring-2:focus-visible{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.focus-visible\:ring-ring:focus-visible{--tw-ring-color: hsl(var(--ring))}.focus-visible\:ring-offset-2:focus-visible{--tw-ring-offset-width: 2px}.disabled\:pointer-events-none:disabled{pointer-events:none}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:opacity-50:disabled{opacity:.5}.dark\:bg-green-900:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(20 83 45 / var(--tw-bg-opacity, 1))}.dark\:bg-yellow-900:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(113 63 18 / var(--tw-bg-opacity, 1))}.dark\:text-blue-400:is(.dark *){--tw-text-opacity: 1;color:rgb(96 165 250 / var(--tw-text-opacity, 1))}.dark\:text-green-100:is(.dark *){--tw-text-opacity: 1;color:rgb(220 252 231 / var(--tw-text-opacity, 1))}.dark\:text-green-400:is(.dark *){--tw-text-opacity: 1;color:rgb(74 222 128 / var(--tw-text-opacity, 1))}.dark\:text-yellow-100:is(.dark *){--tw-text-opacity: 1;color:rgb(254 249 195 / var(--tw-text-opacity, 1))}.dark\:text-yellow-400:is(.dark *){--tw-text-opacity: 1;color:rgb(250 204 21 / var(--tw-text-opacity, 1))}.\[\&_svg\]\:pointer-events-none svg{pointer-events:none}.\[\&_svg\]\:size-4 svg{width:1rem;height:1rem}.\[\&_svg\]\:shrink-0 svg{flex-shrink:0}
