*{margin:0;padding:0}html{scroll-behavior:smooth}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#fff;color:#111827;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;min-height:100vh}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{background:#f1f1f1}::-webkit-scrollbar-thumb{background:#888;border-radius:4px}::-webkit-scrollbar-thumb:hover{background:#555}.chat-main-container{background:#fafafa;display:flex;gap:0;height:calc(100vh - 65px);position:relative;width:100%}.popup-overlay{align-items:center;animation:fadeIn .3s ease-out;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#000000b3;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.popup-content{animation:slideUp .4s cubic-bezier(.16,1,.3,1);background:#fff;border-radius:24px;box-shadow:0 24px 60px #0000004d;max-height:85vh;max-width:540px;overflow-y:auto;position:relative;width:90%}.popup-close{align-items:center;background:#f5f5f5;border:none;border-radius:50%;color:#666;cursor:pointer;display:flex;height:36px;justify-content:center;position:absolute;right:1.25rem;top:1.25rem;transition:all .2s;width:36px;z-index:10}.popup-close:hover{background:#000;color:#fff;transform:rotate(90deg)}.popup-close svg{height:20px;width:20px}.popup-header{border-bottom:1px solid #e5e5e5;padding:2.5rem 2.5rem 1.5rem;text-align:center}.popup-header h2{color:#000;font-size:1.75rem;font-weight:900;letter-spacing:-1px;margin:0 0 .75rem}.popup-badge{background:#000;border-radius:20px;color:#fff;display:inline-block;font-size:.75rem;font-weight:700;letter-spacing:.5px;padding:.375rem .875rem;text-transform:uppercase}.popup-body{padding:2rem 2.5rem}.popup-section{margin-bottom:1.75rem}.popup-section:last-child{margin-bottom:0}.popup-section h3{color:#000;font-size:1.125rem;font-weight:700;margin:0 0 .875rem}.popup-section p{color:#666;font-size:.9375rem;line-height:1.7;margin:0}.help-list{list-style:none;margin:0;padding:0}.help-list li{border-bottom:1px solid #f5f5f5;color:#666;font-size:.9375rem;line-height:1.7;padding:.875rem 0}.help-list li:last-child{border-bottom:none}.help-list strong{color:#000;font-weight:700}.popup-example{background:#f5f5f5;border-left:3px solid #000;border-radius:12px;color:#666;font-size:.875rem;line-height:1.7;padding:1.25rem}.popup-example strong{color:#000}.popup-btn{background:#000;border:none;border-radius:12px;box-shadow:0 4px 12px #0003;color:#fff;cursor:pointer;font-size:1rem;font-weight:700;margin:0 2.5rem 2.5rem;padding:1rem;transition:all .3s;width:calc(100% - 5rem)}.popup-btn:hover{background:#1a1a1a;box-shadow:0 8px 20px #0000004d;transform:translateY(-2px)}.popup-btn:active{transform:translateY(0)}.chat-box{background:#fff;border-right:1px solid #e5e5e5;display:flex;flex:1 1;flex-direction:column;height:100%;margin-left:280px;overflow:hidden;transition:margin-left .3s cubic-bezier(.4,0,.2,1)}body:has(.chat-history.collapsed) .chat-box{margin-left:50px}.messages-area{background:#fafafa;display:flex;flex:1 1;flex-direction:column;gap:1.5rem;overflow-x:hidden;overflow-y:auto;padding:2rem;scroll-behavior:smooth}.welcome-message{background:#fff;border:1px solid #f0f0f0;border-radius:16px;box-shadow:0 2px 12px #0000000a;max-width:520px;padding:1.5rem}.welcome-message p{color:#000;font-size:1rem;font-weight:500;line-height:1.7;margin:0}.suggestion-cards{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(2,1fr);margin-top:1.5rem}.suggestion-card{border-radius:16px;box-shadow:0 4px 15px #0000001a;cursor:pointer;height:160px;overflow:hidden;position:relative;transition:all .3s}.suggestion-card:hover{box-shadow:0 12px 30px #00000026;transform:translateY(-4px) scale(1.02)}.suggestion-card-image{height:100%;object-fit:cover;transition:transform .3s;width:100%}.suggestion-card:hover .suggestion-card-image{transform:scale(1.1)}.suggestion-card-overlay{background:linear-gradient(180deg,#0003,#000c);color:#fff;display:flex;flex-direction:column;inset:0;justify-content:space-between;padding:1.25rem;position:absolute}.suggestion-card-title{font-size:1.375rem;font-weight:800;letter-spacing:-.5px;line-height:1.2;margin:0}.suggestion-card-subtitle{font-size:.9375rem;font-weight:500;margin:0;opacity:.95}.messages-area::-webkit-scrollbar{width:6px}.messages-area::-webkit-scrollbar-track{background:#0000}.messages-area::-webkit-scrollbar-thumb{background:#d4d4d4;border-radius:3px}.messages-area::-webkit-scrollbar-thumb:hover{background:#999}.travel-data-section{background:#f5f5f5;border-top:1px solid #e5e5e5;padding:2rem}.travel-data-title{color:#000;font-size:1.375rem;font-weight:800;letter-spacing:-.5px;margin-bottom:1.25rem}.travel-cards-grid{grid-gap:1.25rem;display:grid;gap:1.25rem;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));max-height:450px;overflow-y:auto;padding-right:.5rem}.quick-suggestions{background:#fff;border-top:1px solid #e5e5e5;padding:1.25rem 2rem}.suggestions-title{color:#999;font-size:.8125rem;font-weight:700;letter-spacing:1px;margin-bottom:.875rem;text-transform:uppercase}.suggestions-grid{grid-gap:.75rem;display:grid;gap:.75rem;grid-template-columns:repeat(2,1fr)}.suggestion-button{background:#fafafa;border:1px solid #e5e5e5;border-radius:12px;color:#000;cursor:pointer;font-size:.9375rem;font-weight:500;padding:.875rem 1.125rem;text-align:left;transition:all .2s ease}.suggestion-button:hover{background:#fff;border-color:#000;transform:translateX(4px)}.input-area{background:#fff;border-top:1px solid #e5e5e5;box-shadow:0 -2px 8px #00000008;padding:1.5rem 2rem}.input-wrapper{margin-bottom:0;position:relative}.message-input{background:#fafafa;border:2px solid #e5e5e5;border-radius:16px;font-family:inherit;font-size:1rem;line-height:1.6;max-height:150px;min-height:52px;overflow-x:hidden;overflow-y:hidden;padding:1rem 3.5rem 1rem 1.25rem;resize:none;transition:all .2s ease;width:100%}.message-input:focus{background:#fff;border-color:#000;box-shadow:0 0 0 4px #0000000d;outline:none}.message-input::placeholder{color:#999}.send-button{align-items:center;background:#000;border:none;border-radius:12px;bottom:.5rem;box-shadow:0 2px 8px #00000026;color:#fff;cursor:pointer;display:flex;justify-content:center;padding:.625rem;position:absolute;right:.5rem;transition:all .2s}.send-button:hover:not(:disabled){background:#1a1a1a;box-shadow:0 4px 12px #00000040;transform:translateY(-2px)}.send-button:disabled{cursor:not-allowed;opacity:.3}.quick-pills{display:flex;flex-wrap:wrap;gap:.625rem;margin-bottom:.875rem}.quick-pill{background:#f5f5f5;border:1px solid #e5e5e5;border-radius:20px;color:#000;cursor:pointer;font-size:.875rem;font-weight:500;padding:.625rem 1rem;transition:all .2s}.quick-pill:hover{background:#000;border-color:#000;color:#fff}.input-footer{color:#999;font-size:.75rem;padding:.75rem 0 0;text-align:center}.input-footer a{color:#000;font-weight:600;text-decoration:none;transition:opacity .2s}.input-footer a:hover{opacity:.7}.typing-indicator{display:flex;gap:5px;padding:1rem}.typing-indicator span{animation:typing 1.4s ease-in-out infinite;background:#999;border-radius:50%;height:8px;width:8px}.typing-indicator span:first-child{animation-delay:0s}.typing-indicator span:nth-child(2){animation-delay:.2s}.typing-indicator span:nth-child(3){animation-delay:.4s}@keyframes typing{0%,60%,to{opacity:.3;transform:translateY(0)}30%{opacity:1;transform:translateY(-10px)}}.trip-panel-container{background:#fff;margin-left:0;overflow:hidden;position:relative;width:50%}body:has(.chat-history.collapsed) .trip-panel-container,body:has(.chat-history:not(.collapsed)) .trip-panel-container{margin-left:0}.inspirational-panel{background:#fafafa;height:100%;overflow-y:auto;padding:2.5rem;width:100%}.inspirational-header{border-bottom:1px solid #e5e5e5;margin-bottom:2.5rem;padding-bottom:2rem;text-align:center}.inspirational-title{color:#000;font-size:2rem;font-weight:900;letter-spacing:-1px;margin:0 0 .75rem}.inspirational-subtitle{color:#666;font-size:1rem;font-weight:500;margin:0}.destination-cards{grid-gap:1.25rem;display:grid;gap:1.25rem;grid-template-columns:repeat(2,1fr);margin-bottom:2.5rem}.destination-card{border-radius:16px;box-shadow:0 4px 15px #0000001a;cursor:pointer;overflow:hidden;position:relative;transition:all .3s}.destination-card:hover{box-shadow:0 12px 30px #00000026;transform:translateY(-6px)}.destination-card img{height:180px;object-fit:cover;transition:transform .3s;width:100%}.destination-card:hover img{transform:scale(1.1)}.destination-info{background:linear-gradient(0deg,#000000e6,#0000);bottom:0;color:#fff;left:0;padding:1.25rem;position:absolute;right:0}.destination-info h3{font-size:1.25rem;font-weight:700;margin:0 0 .375rem}.destination-info p{font-size:.9375rem;margin:0;opacity:.95}.quick-actions{grid-gap:1.25rem;display:grid;gap:1.25rem;grid-template-columns:repeat(3,1fr)}.action-card{background:#fff;border:2px solid #f0f0f0;border-radius:16px;cursor:pointer;padding:1.75rem 1.25rem;text-align:center;transition:all .3s}.action-card:hover{border-color:#000;box-shadow:0 8px 20px #00000014;transform:translateY(-4px)}.action-icon{font-size:2.25rem;margin-bottom:.875rem}.action-card h4{color:#000;font-size:1.125rem;font-weight:700;margin:0 0 .625rem}.action-card p{color:#666;font-size:.9375rem;line-height:1.5;margin:0}.trip-panel.loading{align-items:center;background:#fafafafa;display:flex;height:100%;justify-content:center}.loading-state{padding:3rem;text-align:center}.spinner{animation:spin .8s linear infinite;border:4px solid #f0f0f0;height:56px;margin:0 auto 1.75rem;width:56px}.loading-state p{font-size:1rem;margin:0}@media (max-width:1024px){.chat-box{margin-left:280px}body:has(.chat-history.collapsed) .chat-box{margin-left:50px}.trip-panel-container{width:45%}.messages-area{padding:1.5rem}}@media (max-width:768px){.popup-content{border-radius:20px;max-height:90vh;max-width:95%}.popup-header{padding:2rem 2rem 1.25rem}.popup-header h2{font-size:1.5rem}.popup-body{padding:1.5rem 2rem}.popup-btn{margin:0 2rem 2rem;width:calc(100% - 4rem)}.chat-main-container{flex-direction:column;height:100vh}.chat-box{border-right:none;height:100%;margin-left:0!important;position:relative;width:100%}.messages-area{padding:1.25rem 1.25rem 120px}.suggestion-cards{grid-template-columns:1fr}.input-area{background:#fff;border-top:1px solid #e5e5e5;bottom:0;box-shadow:0 -4px 12px #0000000d;left:0;padding:1rem 1.25rem;position:fixed;right:0;z-index:50}.message-input{font-size:16px;padding:.875rem 3.5rem .875rem 1.125rem}.send-button{bottom:.5rem;right:.5rem}.input-footer{display:none}.trip-panel-container{height:0;overflow:visible;pointer-events:none;position:absolute;width:0}.trip-panel-container .trip-panel{pointer-events:auto}.inspirational-panel{display:none!important}.destination-cards,.quick-actions{grid-template-columns:1fr}.trip-panel-container .loading{bottom:0;height:100vh;left:0;pointer-events:auto;position:fixed;right:0;top:0;transform:translateX(0)!important;width:100%;z-index:1000}.suggestions-grid{grid-template-columns:1fr}}.message{animation:slideIn .3s cubic-bezier(.16,1,.3,1);display:flex;gap:.875rem;max-width:85%;position:relative}.message-scroll-anchor{height:1px;left:0;pointer-events:none;position:absolute;top:-30px;visibility:hidden;width:1px}.user-message{align-self:flex-end;flex-direction:row-reverse}.assistant-message{align-self:flex-start}.message-avatar{align-items:center;background:#f5f5f5;border-radius:50%;box-shadow:0 2px 6px #0000000d;color:#666;display:flex;flex-shrink:0;font-size:1.25rem;font-weight:600;height:36px;justify-content:center;width:36px}.user-message .message-avatar{background:#000;box-shadow:0 2px 8px #00000026;color:#fff}.message-content{background:#fff;border:1px solid #e5e5e5;border-radius:16px;box-shadow:0 2px 8px #0000000a;flex:1 1;padding:1rem 1.25rem;transition:all .2s}.message-content:hover{border-color:#d4d4d4;box-shadow:0 4px 12px #00000014}.user-message .message-content{background:#000;border-color:#000;box-shadow:0 4px 12px #00000026;color:#fff}.user-message .message-content:hover{background:#1a1a1a;box-shadow:0 6px 16px #0003}.error-message .message-content{background:#fff5f5;border-left:4px solid;border-color:#fcc}.message-text{word-wrap:break-word;color:#000;font-size:.9375rem;font-weight:400;line-height:1.7}.user-message .message-text{color:#fff}.message-text strong{color:inherit;font-weight:700}.message-text a{color:#000;font-weight:600;text-decoration:underline;-webkit-text-decoration-color:#0000004d;text-decoration-color:#0000004d;text-underline-offset:2px;transition:all .2s ease}.user-message .message-text a{color:#fff;-webkit-text-decoration-color:#ffffff80;text-decoration-color:#ffffff80}.message-text a:hover{-webkit-text-decoration-color:#000;text-decoration-color:#000}.user-message .message-text a:hover{-webkit-text-decoration-color:#fff;text-decoration-color:#fff}.view-itinerary-btn{align-items:center;background:#000;border:none;border-radius:12px;box-shadow:0 4px 12px #00000026;color:#fff;cursor:pointer;display:inline-flex;font-size:.9375rem;font-weight:700;gap:.625rem;margin-top:1rem;padding:.875rem 1.5rem;transition:all .3s}.view-itinerary-btn svg{stroke-width:2.5;height:20px;width:20px}.view-itinerary-btn:hover{background:#1a1a1a;box-shadow:0 6px 16px #00000040;transform:translateY(-2px)}.view-itinerary-btn:active{transform:translateY(0)}.message-timestamp{color:#999;font-size:.6875rem;font-weight:500;letter-spacing:.3px;margin-top:.625rem;text-align:right}.user-message .message-timestamp{color:#ffffffb3}@keyframes slideIn{0%{opacity:0;transform:translateY(16px) scale(.96)}to{opacity:1;transform:translateY(0) scale(1)}}@media (max-width:768px){.message{gap:.75rem;max-width:90%}.message-avatar{font-size:1.125rem;height:32px;width:32px}.message-content{border-radius:14px;padding:.875rem 1.125rem}.message-text{font-size:.9375rem}.view-itinerary-btn{font-size:1rem;justify-content:center;padding:1rem;width:100%}}.travel-card{background:#fff;border:1px solid #f0f0f0;border-radius:16px;box-shadow:0 4px 15px #00000014;display:flex;flex-direction:column;overflow:hidden;transition:all .3s ease}.travel-card:hover{border-color:#e5e5e5;box-shadow:0 12px 30px #0000001f;transform:translateY(-6px)}.card-image-container{background:linear-gradient(135deg,#f5f5f5,#e5e5e5);height:200px;overflow:hidden;position:relative;width:100%}.card-image{height:100%;object-fit:cover;transition:transform .4s ease;width:100%}.travel-card:hover .card-image{transform:scale(1.08)}.card-content{display:flex;flex-direction:column;gap:.875rem;padding:1.25rem}.card-header{align-items:center;display:flex;gap:.625rem}.card-icon{font-size:1.625rem}.card-title{color:#000;flex:1 1;font-size:1.125rem;font-weight:700;letter-spacing:-.3px;line-height:1.4;margin:0}.card-rating{align-items:center;background:#f5f5f5;border-radius:20px;display:flex;gap:.5rem;padding:.375rem .75rem}.star{font-size:.9375rem}.rating-text{color:#000;font-size:.875rem;font-weight:700}.card-address{-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;color:#666;display:-webkit-box;font-size:.9375rem;line-height:1.6;margin:0;overflow:hidden}.card-link{background:#000;border-radius:12px;box-shadow:0 2px 8px #00000026;color:#fff;display:inline-block;font-size:.9375rem;font-weight:700;margin-top:.5rem;padding:.75rem 1.25rem;text-align:center;text-decoration:none;transition:all .3s ease}.card-link:hover{background:#1a1a1a;box-shadow:0 4px 12px #00000040;transform:translateY(-2px)}.card-link:active{transform:translateY(0)}@media (max-width:768px){.card-image-container{height:160px}.card-content{padding:1rem}.card-title{font-size:1rem}.card-address{font-size:.875rem}.card-link{padding:.875rem 1rem}}.trip-panel{background:#fff;display:flex;flex-direction:column;height:100%;overflow:hidden;width:100%}.trip-panel-actions{align-items:center;background:#fff;border-bottom:1px solid #e5e7eb;display:flex;justify-content:space-between;padding:1rem 2rem}.mobile-back-btn{align-items:center;background:none;border:none;color:#374151;cursor:pointer;display:none;font-size:.9375rem;font-weight:500;gap:.5rem;padding:.5rem;transition:all .2s}.mobile-back-btn svg{stroke-width:2;height:20px;width:20px}.mobile-back-btn:hover{color:#111827}.desktop-actions{align-items:center;display:flex;gap:.75rem;margin-left:auto}.action-icon-btn{align-items:center;background:#fff;border:1px solid #d1d5db;border-radius:6px;color:#6b7280;cursor:pointer;display:flex;justify-content:center;padding:.5rem;transition:all .2s}.action-icon-btn svg{stroke-width:2;height:20px;width:20px}.action-icon-btn:hover{background:#f9fafb;border-color:#9ca3af;color:#374151}.action-icon-btn:disabled{cursor:not-allowed;opacity:.5;pointer-events:none}.action-icon-btn:disabled,.action-icon-btn:disabled:hover{background:#f3f4f6;border-color:#e5e7eb;color:#9ca3af}.review-book-btn{background:#000;border:none;border-radius:6px;box-shadow:0 2px 8px #00000026;color:#fff;cursor:pointer;font-size:.875rem;font-weight:600;padding:.625rem 1.5rem;transition:all .2s}.review-book-btn:hover{background:#1a1a1a;box-shadow:0 4px 12px #00000040;transform:translateY(-1px)}.review-book-btn:active{transform:translateY(0)}.trip-panel-content{background:#f9fafb;flex:1 1;overflow-y:auto;padding:0}.trip-gallery{background:#fff;padding:2rem}.gallery-main{border-radius:12px;box-shadow:0 4px 20px #00000014;height:320px;margin-bottom:1rem;overflow:hidden}.gallery-main:after{background:linear-gradient(180deg,#0000 60%,#0000004d);content:"";inset:0;pointer-events:none;position:absolute}.gallery-main img{transition:transform .3s ease}.gallery-main:hover img{transform:scale(1.02)}.gallery-nav{box-shadow:0 2px 8px #00000026;height:36px;opacity:0;transition:all .2s;width:36px}.gallery-main:hover .gallery-nav{opacity:1}.gallery-nav:hover{box-shadow:0 4px 12px #0003}.gallery-nav svg{stroke:#374151;stroke-width:2.5;height:20px;width:20px}.gallery-nav-prev{left:12px}.gallery-nav-next{right:12px}.image-attribution{align-items:center;bottom:8px;color:#ffffffe6;display:flex;font-size:.7rem;gap:4px;right:12px;text-shadow:0 1px 3px #00000080;z-index:2}.image-attribution a{color:#fffffff2;font-weight:500;text-decoration:none;transition:color .2s}.image-attribution a:hover{color:#fff;text-decoration:underline}.gallery-thumbs{gap:.75rem;padding:.5rem 0;scrollbar-color:#d1d5db #0000;scrollbar-width:thin}.gallery-thumbs::-webkit-scrollbar{height:6px}.gallery-thumbs::-webkit-scrollbar-track{background:#0000}.gallery-thumbs::-webkit-scrollbar-thumb{background:#d1d5db;border-radius:3px}.gallery-thumbs::-webkit-scrollbar-thumb:hover{background:#9ca3af}.gallery-thumb{background:#f3f4f6;border-radius:8px;box-shadow:0 2px 8px #00000014;position:relative;transition:all .2s ease}.gallery-thumb:hover{border-color:#e5e7eb;box-shadow:0 4px 12px #00000026;transform:translateY(-2px)}.gallery-thumb.active{box-shadow:0 4px 12px #0003;transform:translateY(-2px)}.gallery-thumb img{transition:transform .5s ease}.gallery-thumb:hover img{transform:scale(1.1)}.gallery-thumb.more-indicator{align-items:center;background:#000;color:#fff;cursor:pointer;display:flex;font-size:1.5rem;font-weight:600;justify-content:center;transition:all .3s ease}.gallery-thumb.more-indicator:hover{background:#1a1a1a;box-shadow:0 6px 20px #0003}.trip-header{background:#fff;padding:2rem 2rem 0}.trip-header h1{color:#111827;font-size:1.875rem;font-weight:600;line-height:1.2;margin:0 0 .75rem}.trip-meta{align-items:center;color:#6b7280;font-size:.875rem;gap:.75rem}.flight-search-card{background:#000;border-radius:12px;box-shadow:0 4px 20px #00000026;margin:1.5rem 2rem;padding:1.5rem;transition:all .3s ease}.flight-search-card:hover{box-shadow:0 8px 30px #00000040;transform:translateY(-2px)}.flight-search-header{align-items:flex-start;display:flex;gap:1rem;margin-bottom:1rem}.flight-icon{align-items:center;background:#fff3;border-radius:12px;display:flex;flex-shrink:0;height:48px;justify-content:center;width:48px}.flight-icon svg{stroke:#fff;stroke-width:2;height:24px;width:24px}.flight-info{flex:1 1}.flight-info h3{color:#fff;font-size:1.125rem;font-weight:600;margin:0 0 .75rem}.flight-route-details{align-items:center;display:flex;flex-wrap:wrap;gap:1rem}.flight-endpoint{display:flex;flex:1 1;flex-direction:column;gap:.375rem;min-width:200px}.endpoint-city{color:#fff;font-size:1rem;font-weight:600}.endpoint-airport{align-items:center;color:#ffffffd9;display:flex;font-size:.8125rem;gap:.375rem}.endpoint-airport.warning{color:#fbbf24}.flight-arrow{stroke:#fffc;stroke-width:2.5;flex-shrink:0;height:20px;width:20px}.flight-recommendation{align-items:flex-start;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#ffffff26;border:1px solid #fff3;border-radius:8px;display:flex;gap:.75rem;margin-bottom:1rem;padding:1rem}.flight-recommendation svg{stroke:#fff;stroke-width:2;flex-shrink:0;height:20px;margin-top:2px;width:20px}.flight-recommendation p{color:#fffffff2;font-size:.875rem;line-height:1.5;margin:0}.flight-search-btn{align-items:center;background:#fff;border-radius:8px;box-shadow:0 2px 8px #0000001a;color:#000;display:flex;font-size:.9375rem;font-weight:600;justify-content:space-between;padding:.875rem 1.25rem;text-decoration:none;transition:all .2s}.flight-search-btn:hover{background:#f9fafb;box-shadow:0 4px 12px #00000026;transform:scale(1.02)}.flight-search-btn svg{stroke:#000;stroke-width:2;height:18px;width:18px}.trip-tabs{background:#fff;border-bottom:1px solid #e5e7eb;display:flex;gap:3rem;margin-top:1.5rem;padding:0 2rem}.trip-tabs .tab{background:none;border:none;border-bottom:2px solid #0000;color:#6b7280;cursor:pointer;font-size:.9375rem;font-weight:500;padding:1rem 0;position:relative;transition:all .2s}.trip-tabs .tab:hover{color:#111827}.trip-tabs .tab.active{border-bottom-color:#000;color:#000;font-weight:600}.tab-content{padding:2rem}.section-title{color:#111827;font-size:1.5rem;font-weight:600;margin:0 0 1.5rem}.accommodations-subtitle{color:#6b7280;font-size:.9375rem;margin:-.75rem 0 1.5rem}.hotels-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}.hotel-card{background:#fff;border:1px solid #e5e7eb;border-radius:12px;box-shadow:0 2px 8px #0000000a;display:flex;flex-direction:column;overflow:hidden;transition:all .3s ease}.hotel-card:hover{border-color:#d1d5db;box-shadow:0 8px 24px #0000001f;transform:translateY(-4px)}.hotel-image{background:#f3f4f6;height:200px;overflow:hidden;position:relative;width:100%}.hotel-image img{height:100%;object-fit:cover;transition:transform .3s ease;width:100%}.hotel-card:hover .hotel-image img{transform:scale(1.05)}.hotel-image-placeholder{align-items:center;background:linear-gradient(135deg,#f9fafb,#e5e7eb);display:flex;justify-content:center}.hotel-image-placeholder svg{stroke:#d1d5db;stroke-width:1.5;height:64px;width:64px}.hotel-rating-badge{align-items:center;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#000000bf;border-radius:20px;box-shadow:0 2px 8px #0003;color:#fff;display:flex;font-size:.875rem;font-weight:600;gap:.375rem;padding:.375rem .75rem;position:absolute;right:12px;top:12px}.hotel-rating-badge svg{fill:#fbbf24;height:14px;width:14px}.hotel-info{display:flex;flex:1 1;flex-direction:column;padding:1.25rem}.hotel-name{color:#111827;font-size:1.125rem;font-weight:600;line-height:1.3;margin:0 0 .5rem}.hotel-address,.hotel-name{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.hotel-address{color:#6b7280;flex:1 1;font-size:.875rem;line-height:1.5;margin:0 0 1rem}.hotel-actions{display:flex;gap:.75rem;margin-top:auto}.hotel-action-btn{align-items:center;border:none;border-radius:8px;cursor:pointer;display:flex;flex:1 1;font-size:.875rem;font-weight:600;gap:.5rem;justify-content:center;padding:.625rem 1rem;text-decoration:none;transition:all .2s}.google-maps-btn-full{align-items:center;background:#000;box-shadow:0 2px 8px #00000026;color:#fff;display:flex;justify-content:space-between;padding:.75rem 1.25rem;width:100%}.google-maps-btn-full:hover{background:#1a1a1a;box-shadow:0 4px 12px #00000040;transform:translateY(-1px)}.google-maps-btn-full svg{stroke:currentColor;stroke-width:2;height:18px;width:18px}.google-maps-btn-full svg:first-child{flex-shrink:0}.google-maps-btn-full svg:last-child{height:16px;opacity:.8;width:16px}.booking-btn{align-items:center;background:linear-gradient(135deg,#003580,#00224f);box-shadow:0 2px 8px #0035804d;color:#fff;display:flex;justify-content:space-between;margin-top:.5rem;padding:.75rem 1.25rem}.booking-btn:hover{background:linear-gradient(135deg,#004a9f,#003580);box-shadow:0 4px 12px #00358066;transform:translateY(-1px)}.booking-btn .booking-icon{flex-shrink:0;height:18px;width:18px}.booking-btn svg{stroke:currentColor;stroke-width:2;height:18px;width:18px}.booking-btn svg:last-child{height:16px;opacity:.8;width:16px}.restaurant-booking-btn{align-items:center;background:linear-gradient(135deg,#00af87,#00897b);box-shadow:0 2px 8px #00af874d;color:#fff;display:flex;justify-content:space-between;margin-top:.5rem;padding:.75rem 1.25rem}.restaurant-booking-btn:hover{background:linear-gradient(135deg,#00c99a,#00af87);box-shadow:0 4px 12px #00af8766;transform:translateY(-1px)}.restaurant-booking-btn svg{stroke:currentColor;stroke-width:2;height:18px;width:18px}.restaurant-booking-btn svg:last-child{height:16px;opacity:.8;width:16px}.activity-place-link.booking-link{color:#003580;font-weight:600;margin-top:.25rem}.activity-place-link.booking-link:hover{color:#004a9f}.activity-place-link.restaurant-link{color:#00af87;font-weight:600;margin-top:.25rem}.activity-place-link.restaurant-link:hover{color:#00c99a}.empty-accommodations{color:#9ca3af;padding:4rem 2rem;text-align:center}.empty-accommodations svg{stroke:#d1d5db;stroke-width:1.5;height:64px;margin:0 auto 1rem;width:64px}.empty-accommodations p{color:#6b7280;font-size:1rem;margin:0}.quick-view-btn{background:#fff;border:1px solid #d1d5db;border-radius:6px;box-shadow:0 1px 3px #0000001a;color:#374151;cursor:pointer;font-size:.875rem;font-weight:500;padding:.5rem 1rem;position:absolute;right:2.5rem;top:7rem;transition:all .2s}.quick-view-btn:hover{background:#f9fafb;box-shadow:0 4px 6px #0000001a}.trip-itinerary{display:flex;flex-direction:column;gap:.75rem;margin-top:0}.day-card{border:1px solid #e5e7eb;border-radius:16px;box-shadow:0 1px 3px #0000000d;margin-bottom:1rem;overflow:hidden;transition:all .3s cubic-bezier(.4,0,.2,1)}.day-card:hover{border-color:#d1d5db;box-shadow:0 8px 24px #00000014;transform:translateY(-2px)}.day-card.expanded{border-color:#9ca3af;box-shadow:0 8px 32px #0000001f}.day-card-header{align-items:center;background:linear-gradient(135deg,#fafbfc,#fff);border-bottom:1px solid #0000;cursor:pointer;display:flex;justify-content:space-between;padding:1.5rem 1.75rem;position:relative;transition:all .25s cubic-bezier(.4,0,.2,1)}.day-card-header:before{background:#000;bottom:0;content:"";left:0;opacity:0;position:absolute;top:0;transition:opacity .3s;width:4px}.day-card.expanded .day-card-header:before{opacity:1}.day-card-header:hover{background:#f9fafb}.day-card.expanded .day-card-header{background:#fafafa;border-bottom-color:#e5e7eb}.day-header-left{flex:1 1}.day-date{background:#f3f4f6;border:1px solid #d1d5db;border-radius:6px;color:#000;font-size:.875rem;font-weight:700;margin-right:.75rem;padding:.25rem .625rem}.day-title{color:#111827;font-size:1rem;font-weight:600}.day-header-right{align-items:center;display:flex;gap:1.5rem}.day-weather{background:#f9fafb;border:1px solid #e5e7eb;border-radius:6px;color:#6b7280;font-size:.875rem;font-weight:500;padding:.375rem .75rem}.expand-arrow{align-items:center;border-radius:6px;color:#6b7280;display:flex;height:32px;justify-content:center;margin-left:.5rem;transition:all .25s cubic-bezier(.4,0,.2,1);width:32px}.expand-arrow svg{stroke-width:2.5;height:20px;width:20px}.expand-arrow:hover{background:#f3f4f6;color:#374151}.day-card.expanded .expand-arrow{color:#000;transform:rotate(180deg)}.day-card.expanded .expand-arrow:hover{background:#f3f4f6}.day-card-content{background:linear-gradient(180deg,#fafbfc,#f9fafb);border-top:1px solid #e5e7eb;padding:1.5rem}.activity-item{background:#fff;border:1px solid #e5e7eb;border-radius:12px;box-shadow:0 1px 2px #00000008;display:flex;gap:1rem;margin-bottom:.75rem;overflow:hidden;padding:1rem 1.25rem;position:relative;transition:all .25s cubic-bezier(.4,0,.2,1)}.activity-item:before{background:#000;bottom:0;content:"";left:0;opacity:0;position:absolute;top:0;transition:opacity .3s;width:3px}.activity-item:hover:before{opacity:1}.activity-item:last-child{margin-bottom:0}.activity-item:hover{background:#fefeff;border-color:#d1d5db;box-shadow:0 6px 20px #00000014;transform:translateX(4px)}.activity-icon-badge{align-items:center;background:#f3f4f6;border:1px solid #e5e7eb;border-radius:12px;box-shadow:0 2px 8px #00000014;display:flex;flex-shrink:0;font-size:1.375rem;height:48px;justify-content:center;transition:all .3s;width:48px}.activity-item:hover .activity-icon-badge{box-shadow:0 4px 12px #00000026;transform:scale(1.08)}.activity-info{flex:1 1;min-width:0}.activity-info h4{color:#000;font-size:.6875rem;font-weight:700;letter-spacing:1px;margin:0 0 .375rem;text-transform:uppercase}.activity-info p{color:#111827;font-size:.9375rem;line-height:1.5;margin:0 0 .25rem}.activity-info .activity-title{color:#111827;font-size:.9375rem;font-weight:600;margin-bottom:.25rem}.activity-meta{align-items:center;color:#6b7280;display:flex;font-size:.8125rem;gap:1rem;margin-top:.375rem}.activity-meta span{align-items:center;display:flex;gap:.25rem}.activity-place-compact{align-items:flex-start;display:flex;gap:.875rem}.activity-place-image{background:linear-gradient(135deg,#f3f4f6,#e5e7eb);border:2px solid #e5e7eb;border-radius:12px;box-shadow:0 2px 8px #00000014;flex-shrink:0;height:80px;overflow:hidden;position:relative;transition:all .3s;width:80px}.activity-place-image img{height:100%;object-fit:cover;transition:transform .3s;width:100%}.activity-item:hover .activity-place-image{border-color:#d1d5db;box-shadow:0 4px 12px #0000001f}.activity-item:hover .activity-place-image img{transform:scale(1.05)}.activity-place-image-badge{align-items:center;background:#000000b3;border-radius:4px;bottom:4px;color:#fff;display:flex;font-size:.625rem;font-weight:600;gap:2px;padding:2px 6px;position:absolute;right:4px}.activity-place-image-badge svg{height:10px;width:10px}.activity-place-details{flex:1 1;min-width:0}.activity-place-name{color:#111827;font-size:.9375rem;font-weight:600;line-height:1.4;margin:0 0 .25rem}.activity-place-meta{align-items:center;color:#6b7280;display:flex;flex-wrap:wrap;font-size:.8125rem;gap:.75rem;margin-top:.25rem}.activity-place-rating{align-items:center;background:#fef3c7;border-radius:6px;color:#92400e;display:inline-flex;font-size:.75rem;font-weight:600;gap:.25rem;padding:.125rem .5rem}.activity-place-rating svg{fill:currentColor;height:12px;width:12px}.activity-place-link{align-items:center;color:#000;display:inline-flex;font-size:.75rem;font-weight:500;gap:.25rem;margin-top:.375rem;text-decoration:none;transition:all .2s}.activity-place-link:hover{color:#374151;gap:.375rem}.activity-place-link svg{height:14px;width:14px}.expand-all-btn{background:#fff;border:1px solid #e5e7eb;border-radius:6px;color:#374151;cursor:pointer;font-size:.875rem;font-weight:500;margin-top:1rem;padding:.875rem;transition:all .2s;width:100%}.expand-all-btn:hover{background:#f9fafb;border-color:#d1d5db}.trip-panel-footer{background:#fff;border-top:1px solid #e5e7eb;padding:1.5rem 2rem}.trip-footer-info{margin-bottom:1rem}.trip-footer-info h3{color:#111827;font-size:1.125rem;font-weight:600;margin:0 0 .5rem}.trip-footer-details{align-items:center;color:#6b7280;display:flex;flex-wrap:wrap;font-size:.875rem;gap:.75rem}.price-estimate{display:flex;flex-direction:column;gap:.125rem}.price-label{color:#9ca3af;font-size:.6875rem;font-weight:600;letter-spacing:.5px;text-transform:uppercase}.price-amount{color:#000;font-size:1.5rem;font-weight:700;line-height:1}.price-per-person{color:#6b7280;font-size:.75rem;font-weight:500;margin-top:.125rem}.price-breakdown-trigger{align-items:center;background:#f3f4f6;border-radius:8px;cursor:help;display:inline-flex;height:32px;justify-content:center;position:relative;transition:all .2s;width:32px}.price-breakdown-trigger svg{stroke-width:2;color:#6b7280;height:18px;width:18px}.price-breakdown-trigger:hover{background:#e5e7eb}.price-breakdown-trigger:hover svg{color:#000}.price-breakdown-tooltip{background:#fff;border:1px solid #e5e7eb;border-radius:12px;bottom:calc(100% + 12px);box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a;left:50%;min-width:280px;opacity:0;padding:1rem;pointer-events:none;position:absolute;transform:translateX(-50%);transition:all .3s cubic-bezier(.4,0,.2,1);visibility:hidden;z-index:100}.price-breakdown-tooltip:before{border:8px solid #0000;border-top-color:#fff;content:"";filter:drop-shadow(0 2px 1px rgba(0,0,0,.05));left:50%;position:absolute;top:100%;transform:translateX(-50%)}.price-breakdown-trigger:hover .price-breakdown-tooltip{bottom:calc(100% + 16px);opacity:1;visibility:visible}.breakdown-header{border-bottom:2px solid #f3f4f6;color:#111827;font-size:.875rem;font-weight:700;margin-bottom:.75rem;padding-bottom:.75rem}.breakdown-item{align-items:center;color:#374151;display:flex;font-size:.8125rem;justify-content:space-between;padding:.5rem 0}.breakdown-item:not(:last-child){border-bottom:1px solid #f3f4f6}.breakdown-item span:first-child{align-items:center;display:flex;gap:.375rem}.breakdown-item span:last-child{color:#111827;font-weight:600}.breakdown-total{align-items:center;border-top:2px solid #e5e7eb;color:#111827;display:flex;font-size:.9375rem;font-weight:700;justify-content:space-between;margin-top:.5rem;padding:.75rem 0 .5rem}.breakdown-total span:last-child{color:#000;font-size:1.125rem}.breakdown-note{color:#9ca3af;font-size:.6875rem;font-style:italic;margin-top:.5rem;text-align:center}.trip-footer-actions{display:flex;gap:.75rem}.footer-btn{align-items:center;border-radius:6px;cursor:pointer;display:flex;flex:1 1;font-size:.875rem;font-weight:600;gap:.375rem;justify-content:center;padding:.875rem 1.25rem;transition:all .2s}.footer-btn svg{stroke-width:2}.footer-btn.secondary{background:#fff;border:1px solid #d1d5db;color:#374151}.footer-btn.secondary:hover{background:#f9fafb;border-color:#9ca3af}.footer-btn.primary{background:#000;border:none;box-shadow:0 2px 8px #00000026;color:#fff}.footer-btn.primary:hover{background:#1a1a1a;box-shadow:0 4px 12px #00000040;transform:translateY(-1px)}.footer-btn:disabled{cursor:not-allowed;opacity:.5;pointer-events:none}.footer-btn.secondary:disabled{background:#f3f4f6;border-color:#e5e7eb;color:#9ca3af}.footer-btn.secondary:disabled:hover{background:#f3f4f6;border-color:#e5e7eb;transform:none}.trip-panel.empty{align-items:center;background:linear-gradient(135deg,#f8fafc,#fff 50%,#fafbfc);justify-content:center;overflow:hidden;position:relative}.trip-panel.empty:before{background:radial-gradient(circle,#00000008 0,#0000 70%);border-radius:50%;content:"";height:500px;position:absolute;right:-20%;top:-50%;width:500px}.trip-panel.empty:after{background:radial-gradient(circle,#00000005 0,#0000 70%);border-radius:50%;bottom:-30%;content:"";height:400px;left:-10%;position:absolute;width:400px}.empty-state{max-width:560px;padding:3rem 2rem;position:relative;z-index:1}.empty-icon-svg{stroke-width:1.5;animation:float 3s ease-in-out infinite;color:#000;filter:drop-shadow(0 4px 20px rgba(0,0,0,.1));height:120px;margin:0 auto 2.5rem;width:120px}.empty-state h3{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#111827,#374151);-webkit-background-clip:text;background-clip:text;color:#111827;font-size:1.875rem;font-weight:700;line-height:1.2;margin:0 0 1rem}.empty-state p{color:#6b7280;font-size:1.0625rem;line-height:1.7;margin:0 0 3rem}.empty-features{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:1fr;text-align:left}.empty-feature{align-items:center;animation:slideInUp .5s ease-out backwards;background:#fff;border:1px solid #e5e7eb;border-radius:12px;box-shadow:0 2px 8px #0000000a;display:flex;gap:1rem;padding:1.25rem 1.5rem;transition:all .3s ease}.empty-feature:first-child{animation-delay:.1s}.empty-feature:nth-child(2){animation-delay:.2s}.empty-feature:nth-child(3){animation-delay:.3s}@keyframes slideInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.empty-feature:hover{border-color:#000;box-shadow:0 4px 16px #00000014;transform:translateX(8px)}.empty-feature svg{stroke-width:2.5;background:#f3f4f6;border-radius:8px;color:#000;flex-shrink:0;height:24px;padding:6px;width:24px}.empty-feature span{color:#374151;font-size:1rem;font-weight:500;line-height:1.5}.trip-panel-content::-webkit-scrollbar{width:6px}.trip-panel-content::-webkit-scrollbar-track{background:#f9fafb}.trip-panel-content::-webkit-scrollbar-thumb{background:#d1d5db;border-radius:3px}.trip-panel-content::-webkit-scrollbar-thumb:hover{background:#9ca3af}@media (max-width:1024px){.trip-gallery{grid-template-columns:1fr}.gallery-main{height:220px}.gallery-thumbs{gap:.5rem}.gallery-thumb{height:60px;width:80px}.gallery-nav{height:32px;width:32px}.gallery-nav svg{height:18px;width:18px}}@media (max-width:768px){.trip-panel{bottom:0;height:100vh;left:0;position:fixed;right:0;top:0;transform:translateX(100%);transition:transform .3s cubic-bezier(.4,0,.2,1);width:100%;z-index:1000}.trip-panel.mobile-visible{transform:translateX(0)}.mobile-back-btn{display:flex}.desktop-actions{margin-left:0}.action-icon-btn{display:none}.review-book-btn{font-size:.8125rem;padding:.5rem 1rem}.trip-panel-actions{padding:.875rem 1rem}.trip-gallery{padding:1rem}.trip-header{padding:1.5rem 1rem 0}.trip-header h1{font-size:1.5rem}.flight-search-card{margin:1rem}.flight-route-details,.flight-search-header{align-items:flex-start;flex-direction:column;gap:.75rem}.flight-endpoint{min-width:auto;width:100%}.flight-arrow{margin:.5rem 0;transform:rotate(90deg)}.flight-recommendation{padding:.875rem}.trip-tabs{gap:2rem;padding:0 1rem}.tab-content{padding:1rem}.hotels-grid{gap:1rem;grid-template-columns:1fr}.hotel-image{height:180px}.google-maps-btn-full{font-size:.8125rem;padding:.625rem 1rem}.trip-footer-actions{flex-direction:column}.footer-btn{width:100%}.footer-btn.secondary{display:none}.quick-view-btn{margin-bottom:1rem;position:static;width:100%}.empty-state{padding:2rem 1.5rem}.empty-icon-svg{height:64px;margin-bottom:1.5rem;width:64px}.empty-state h3{font-size:1.25rem}.empty-state p{font-size:.9375rem;margin-bottom:2rem}.price-breakdown-tooltip{bottom:auto;left:auto;min-width:260px;right:0;top:calc(100% + 12px);transform:translateX(0)}.price-breakdown-tooltip:before{border-bottom-color:#fff;border-top-color:#0000;bottom:100%;top:auto}.price-breakdown-trigger:hover .price-breakdown-tooltip{bottom:auto;top:calc(100% + 16px)}.price-footer-details{flex-wrap:wrap}.activity-place-compact{align-items:flex-start;display:flex;gap:.75rem}.activity-place-image{border-radius:8px;height:70px;width:70px}.activity-place-name{font-size:.875rem}.activity-place-meta{font-size:.75rem}}.gallery-placeholder{align-items:center;background:linear-gradient(135deg,#1a1a1a,#4a4a4a 50%,#6a6a6a);border-radius:12px;display:flex;height:400px;justify-content:center;overflow:hidden;position:relative;width:100%}.gallery-placeholder:before{animation:floatAnimation 20s ease-in-out infinite;background:radial-gradient(circle at 20% 50%,#ffffff1a 0,#0000 50%),radial-gradient(circle at 80% 80%,#ffffff1a 0,#0000 50%),radial-gradient(circle at 40% 20%,#ffffff14 0,#0000 40%);content:"";height:200%;position:absolute;width:200%}.gallery-placeholder .placeholder-icon{stroke:#ffffffe6;filter:drop-shadow(0 4px 8px rgba(0,0,0,.1));height:120px;width:120px;z-index:1}.activity-placeholder{align-items:center;background:linear-gradient(135deg,#e5e7eb,#d1d5db);border-radius:8px;display:flex;justify-content:center;min-height:140px;overflow:hidden;position:relative;width:100%}.activity-placeholder:before{background:radial-gradient(circle at 30% 40%,#ffffff26 0,#0000 60%),radial-gradient(circle at 70% 70%,#ffffff1a 0,#0000 50%);content:"";height:100%;position:absolute;width:100%}.activity-placeholder .placeholder-icon{stroke:#fffffff2;filter:drop-shadow(0 2px 6px rgba(0,0,0,.15));height:60px;width:60px;z-index:1}.accommodation-placeholder{align-items:center;background:linear-gradient(135deg,#f3f4f6,#e5e7eb);border-radius:12px;display:flex;justify-content:center;min-height:200px;overflow:hidden;position:relative;width:100%}.accommodation-placeholder:before{animation:floatAnimation 15s ease-in-out infinite;background:radial-gradient(circle at 25% 35%,#fff3 0,#0000 50%),radial-gradient(circle at 75% 65%,#ffffff26 0,#0000 60%);content:"";height:150%;position:absolute;width:150%}.accommodation-placeholder .placeholder-icon{stroke:#fffffff2;filter:drop-shadow(0 3px 8px rgba(0,0,0,.2));height:80px;width:80px;z-index:1}@keyframes floatAnimation{0%,to{transform:translate(-10%,-10%) rotate(0deg)}50%{transform:translate(-5%,-5%) rotate(180deg)}}.gallery-thumb-placeholder{align-items:center;background:linear-gradient(135deg,#f9fafb,#e5e7eb);border-radius:4px;display:flex;height:100%;justify-content:center;min-height:60px;width:100%}.gallery-thumb-placeholder .placeholder-icon{stroke:#ffffffe6;height:24px;width:24px}.chat-history{display:flex;flex-direction:column;height:100vh;left:0;position:fixed;top:0;transition:all .3s cubic-bezier(.4,0,.2,1);width:280px;z-index:200}.chat-history,.chat-history.collapsed{background:#fafafa;border-right:1px solid #e5e5e5}.chat-history.collapsed{width:50px}.expand-button{align-items:center;background:#fff;border:none;border-bottom:1px solid #e5e5e5;color:#666;cursor:pointer;display:flex;height:60px;justify-content:center;transition:all .3s;width:100%}.expand-button:hover{background:#000;color:#fff}.expand-button svg{transition:transform .3s}.expand-button:hover svg{transform:translateX(4px)}.chat-history-header{align-items:center;background:#fff;border-bottom:1px solid #e5e5e5;display:flex;justify-content:space-between;padding:20px}.chat-history-header h3{color:#000;font-size:18px;font-weight:700;margin:0}.header-actions{gap:8px}.collapse-button,.new-chat-button{align-items:center;background:#f5f5f5;border:none;border-radius:8px;color:#666;cursor:pointer;display:flex;height:36px;justify-content:center;transition:all .3s;width:36px}.collapse-button:hover,.new-chat-button:hover{background:#000;color:#fff}.chat-list{flex:1 1;overflow-y:auto;padding:12px}.chat-item{background:#fff;border:2px solid #0000;border-radius:12px;cursor:pointer;margin-bottom:8px;padding:14px;position:relative;transition:all .3s}.chat-item:hover{background:#f5f5f5;transform:translateX(4px)}.chat-item.active{background:#fff;border-color:#000}.chat-item-content{padding-right:24px}.chat-title{color:#000;font-size:14px;font-weight:600;margin:0 0 6px}.chat-preview,.chat-title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chat-preview{color:#666;font-size:13px;margin:0 0 8px}.chat-meta{color:#999;display:flex;font-size:11px;justify-content:space-between}.delete-chat-button{align-items:center;background:#0000;border:none;border-radius:6px;color:#999;cursor:pointer;display:flex;height:28px;justify-content:center;opacity:0;position:absolute;right:12px;top:12px;transition:all .3s;width:28px}.chat-item:hover .delete-chat-button{opacity:1}.delete-chat-button:hover{background:#f44;color:#fff}.empty-state,.loading-state{align-items:center;color:#999;display:flex;flex-direction:column;justify-content:center;padding:40px 20px;text-align:center}.spinner{border:3px solid #f0f0f0;height:32px;margin-bottom:12px;width:32px}.empty-state svg{margin-bottom:16px;opacity:.3}.empty-state p{font-size:14px;margin:0 0 16px}.start-chat-button{background:#000;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:13px;font-weight:600;padding:10px 20px;transition:all .3s}.start-chat-button:hover{background:#1a1a1a;transform:translateY(-2px)}.refresh-button{align-items:center;background:#fff;border:1px solid #e5e5e5;border-radius:8px;color:#666;cursor:pointer;display:flex;font-size:13px;font-weight:600;gap:8px;justify-content:center;margin:12px;padding:12px;transition:all .3s}.refresh-button:hover{background:#f5f5f5;border-color:#d4d4d4;color:#000}.chat-list::-webkit-scrollbar{width:6px}.chat-list::-webkit-scrollbar-track{background:#0000}.chat-list::-webkit-scrollbar-thumb{background:#d4d4d4;border-radius:3px}.chat-list::-webkit-scrollbar-thumb:hover{background:#999}@media (max-width:768px){.chat-history{transform:translateX(-100%)}.chat-history.collapsed,.chat-history.open{transform:translateX(0)}}.preferences-overlay{align-items:center;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0009;bottom:0;display:flex;justify-content:center;left:0;overflow:hidden;padding:20px;position:fixed;right:0;top:0;z-index:10000}.preferences-modal{animation:slideUp .3s ease-out;background:#fff;border-radius:16px;box-shadow:0 20px 60px #0000004d;max-height:90vh;max-width:600px;overflow-y:auto;position:relative;width:100%}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.preferences-close{align-items:center;background:#0000;border:none;border-radius:8px;color:#666;cursor:pointer;display:flex;height:32px;justify-content:center;position:absolute;right:16px;top:16px;transition:all .2s;width:32px}.preferences-close:hover{background:#f0f0f0;color:#333}.preferences-close svg{height:20px;width:20px}.preferences-header{border-bottom:1px solid #eee;padding:32px 32px 16px}.preferences-header h2{color:#1a1a1a;font-size:24px;margin:0 0 8px}.preferences-header p{color:#666;font-size:14px;margin:0}.preferences-body{padding:24px 32px}.preference-section{margin-bottom:32px}.preference-section:last-child{margin-bottom:0}.preference-label{color:#1a1a1a;display:block;font-size:16px;margin-bottom:4px}.preference-description{color:#666;font-size:13px;margin:0 0 12px}.preference-grid{grid-gap:8px;display:grid;gap:8px;grid-template-columns:repeat(auto-fill,minmax(140px,1fr))}.preference-option{align-items:center;background:#f8f9fa;border:2px solid #0000;border-radius:8px;color:#333;cursor:pointer;display:flex;font-size:14px;gap:8px;padding:12px 16px;transition:all .2s}.preference-option:hover{background:#e9ecef;border-color:#dee2e6}.preference-option.active{background:#e7f3ff;border-color:#4a90e2;color:#1a73e8;font-weight:500}.preference-flag{font-size:20px}.preference-symbol{font-size:18px;font-weight:600}.preference-name{flex:1 1}.preference-toggle{display:flex;gap:8px}.toggle-option{background:#f8f9fa;border:2px solid #0000;border-radius:8px;color:#333;cursor:pointer;flex:1 1;font-size:14px;font-weight:500;padding:12px 20px;transition:all .2s}.toggle-option:hover{background:#e9ecef;border-color:#dee2e6}.toggle-option.active{background:#e7f3ff;border-color:#4a90e2;color:#1a73e8}.preferences-footer{border-top:1px solid #eee;display:flex;gap:12px;justify-content:flex-end;padding:16px 32px}.preferences-btn{border:none;border-radius:8px;cursor:pointer;font-size:14px;font-weight:500;padding:10px 24px;transition:all .2s}.preferences-btn-cancel{background:#f0f0f0;color:#666}.preferences-btn-cancel:hover{background:#e0e0e0;color:#333}.preferences-btn-save{background:#4a90e2;color:#fff}.preferences-btn-save:hover{background:#357abd}@media (max-width:768px){.preferences-overlay{align-items:stretch;overflow:hidden;padding:0}.preferences-modal{border-radius:0;display:grid;grid-template-rows:auto 1fr auto;height:100%;max-width:100%;min-height:100vh;min-height:100dvh;overflow:hidden;width:100%}.preferences-header{border-bottom:1px solid #eee;padding:20px 20px 12px}.preferences-body{-webkit-overflow-scrolling:touch;max-height:100%;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;padding:16px 20px}.preferences-footer{background:#fff;border-top:1px solid #eee;box-shadow:0 -4px 12px #0000001a;padding:12px 20px}.preferences-btn{font-size:16px;padding:14px 24px;width:100%}.preferences-btn-cancel{display:none}.preference-grid{grid-template-columns:repeat(2,1fr)}.preference-section{margin-bottom:20px}.preference-section:last-child{margin-bottom:0}.preferences-header h2{font-size:20px}.preferences-header p{font-size:13px}}*{box-sizing:border-box}.landing-page{background:#fafafa;min-height:100vh;width:100%}.landing-container{margin:0 auto;max-width:1400px;padding:0 24px}.landing-header{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:#fffffffa;border-bottom:1px solid #e5e5e5;box-shadow:0 1px 3px #0000000d;position:-webkit-sticky;position:sticky;top:0;z-index:1000}.nav-link-btn{background:#0000;border:none;color:#000;cursor:pointer;font-size:15px;font-weight:600;padding:12px 20px;transition:all .3s}.nav-link-btn:hover{color:#667eea}.main-carousel-section{background:#fff;padding:80px 0 120px}.carousel-mega-container{margin:0 auto;max-width:1600px;padding:0 40px}.carousel-main-title{color:#000;font-size:64px;font-weight:900;letter-spacing:-3px;margin:0 0 16px;text-align:center}.carousel-subtitle{color:#666;font-size:20px;font-weight:400;margin:0 0 80px;text-align:center}.carousel-showcase{margin-bottom:60px;position:relative}.carousel-featured{border-radius:32px;box-shadow:0 20px 80px #00000040;height:75vh;margin-bottom:40px;overflow:hidden;position:relative;width:100%}.featured-image{height:100%;object-fit:cover;transition:transform .6s ease;width:100%}.carousel-featured:hover .featured-image{transform:scale(1.05)}.featured-overlay{background:linear-gradient(0deg,#000000e6 0,#0006 50%,#0000);bottom:0;left:0;padding:80px 60px 60px;position:absolute;right:0}.featured-info{max-width:800px}.featured-title{color:#fff;font-size:56px;font-weight:900;letter-spacing:-2px;margin:0 0 12px;text-shadow:0 2px 20px #00000080}.featured-location{align-items:center;color:#fffffff2;display:flex;font-size:24px;font-weight:500;gap:8px;margin:0}.featured-location:before{content:"📍";font-size:20px}.carousel-nav{align-items:center;background:#fffffff2;border:none;border-radius:50%;box-shadow:0 4px 20px #00000026;cursor:pointer;display:flex;height:64px;justify-content:center;position:absolute;top:50%;transform:translateY(-50%);transition:all .3s;width:64px;z-index:20}.carousel-nav:hover{background:#fff;box-shadow:0 8px 30px #00000040;transform:translateY(-50%) scale(1.1)}.carousel-nav.prev{left:-32px}.carousel-nav.next{right:-32px}.carousel-nav svg{color:#000}.carousel-thumbnails{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(6,1fr);margin-top:40px}.thumbnail{aspect-ratio:4/3;border:3px solid #0000;border-radius:16px;box-shadow:0 4px 15px #0000001a;cursor:pointer;overflow:hidden;position:relative;transition:all .3s}.thumbnail:hover{box-shadow:0 12px 30px #0003;transform:translateY(-8px)}.thumbnail.active{border-color:#000;box-shadow:0 8px 25px #0000004d;transform:translateY(-4px)}.thumbnail img{height:100%;object-fit:cover;transition:transform .3s;width:100%}.thumbnail:hover img{transform:scale(1.1)}.thumbnail-overlay{background:linear-gradient(0deg,#000c 0,#0000);bottom:0;left:0;opacity:0;padding:12px;position:absolute;right:0;transition:opacity .3s}.thumbnail:hover .thumbnail-overlay{opacity:1}.thumbnail-label{color:#fff;display:block;font-size:13px;font-weight:600}.carousel-cta{margin-top:80px;text-align:center}.carousel-action-button{align-items:center;background:#000;border:none;border-radius:50px;box-shadow:0 12px 40px #0000004d;color:#fff;cursor:pointer;display:inline-flex;font-size:20px;font-weight:800;gap:16px;letter-spacing:-.5px;padding:24px 64px;transition:all .3s}.carousel-action-button:hover{background:#1a1a1a;box-shadow:0 20px 60px #0006;transform:translateY(-4px) scale(1.05)}.features-section{background:#f5f5f5;padding:100px 0}.section-title{font-size:48px;font-weight:800;letter-spacing:-2px;margin:0 0 60px;text-align:center}.features-grid{grid-gap:32px;display:grid;gap:32px;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));margin-top:60px}.feature-card{background:#fff;border:1px solid #e5e5e5;border-radius:24px;box-shadow:0 2px 12px #0000000f;padding:40px;transition:all .3s}.feature-card:hover{border-color:#d4d4d4;box-shadow:0 12px 30px #0000001f;transform:translateY(-8px)}.feature-icon{font-size:48px;margin-bottom:20px}.feature-title{color:#000;font-size:24px;font-weight:700;margin:0 0 16px}.feature-description{color:#666;font-size:16px;line-height:1.6;margin:0}.how-it-works-section{background:#fff;padding:100px 0}.steps-container{align-items:center;display:flex;gap:20px;justify-content:space-between;margin-top:60px}.step{background:#f5f5f5;border:2px solid #0000;border-radius:24px;flex:1 1;padding:40px 32px;text-align:center;transition:all .3s}.step:hover{border-color:#e5e5e5;box-shadow:0 12px 30px #00000014;transform:translateY(-8px)}.step-number{align-items:center;background:#000;border-radius:50%;box-shadow:0 4px 15px #0003;color:#fff;display:flex;font-size:28px;font-weight:800;height:64px;justify-content:center;margin:0 auto 24px;width:64px}.step-title{color:#000;font-size:20px;font-weight:700;margin:0 0 16px}.step-description{color:#666;font-size:15px;line-height:1.6;margin:0}.step-arrow{color:#d4d4d4;font-size:32px;font-weight:300}.reviews-section{background:#f5f5f5;padding:100px 0}.reviews-grid{grid-gap:32px;display:grid;gap:32px;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));margin-top:60px}.review-card{background:#fff;border:1px solid #e5e5e5;border-radius:24px;box-shadow:0 2px 12px #0000000f;padding:32px;transition:all .3s}.review-card:hover{box-shadow:0 12px 30px #0000001f;transform:translateY(-8px)}.review-header{gap:16px;margin-bottom:16px}.review-avatar,.review-header{align-items:center;display:flex}.review-avatar{background:#000;border-radius:50%;font-size:28px;height:56px;justify-content:center;width:56px}.review-info{flex:1 1}.review-name{color:#000;font-size:18px;font-weight:700;margin:0 0 4px}.review-location{color:#999;font-size:14px;margin:0}.review-rating{margin-bottom:16px}.star{font-size:18px}.review-text{color:#666;font-size:15px;font-style:italic;line-height:1.6;margin:0}.cta-section{background:#000;padding:100px 0;text-align:center}.cta-content{margin:0 auto;max-width:800px}.cta-title{color:#fff;font-size:56px;font-weight:900;letter-spacing:-2px;margin:0 0 24px}.cta-subtitle{color:#fffc;font-size:20px;line-height:1.6;margin:0 0 40px}.primary-button{align-items:center;background:#fff;border:none;border-radius:50px;box-shadow:0 8px 30px #ffffff40;color:#000;cursor:pointer;display:inline-flex;font-size:18px;font-weight:700;gap:12px;justify-content:center;padding:18px 48px;transition:all .3s ease}.primary-button:hover{background:#f5f5f5;box-shadow:0 12px 40px #ffffff59;transform:translateY(-4px)}.primary-button svg{transition:transform .3s ease}.primary-button:hover svg{transform:translateX(4px)}.primary-button.large{font-size:20px;font-weight:800;letter-spacing:-.5px;padding:24px 56px}.landing-footer{background:#1a1a1a;color:#fff;padding:50px 0 30px}.footer-content{align-items:flex-start;display:flex;flex-wrap:wrap;gap:40px;justify-content:space-between;margin-bottom:30px}.footer-main{flex:1 1}.footer-title{color:#fff;font-size:28px;font-weight:900;letter-spacing:-1px;margin:0 0 12px}.footer-text{color:#999;font-size:14px;line-height:1.6;margin:0 0 20px}.footer-company{color:#666;font-family:monospace;font-size:12px;line-height:1.6;margin:0}.footer-links{align-items:center;display:flex;gap:24px}.footer-link{background:#0000;border:none;color:#999;cursor:pointer;font-family:inherit;font-size:14px;padding:0;text-decoration:none;transition:color .3s}.footer-link:hover{color:#fff}.footer-bottom{border-top:1px solid #ffffff1a;color:#666;font-size:14px;padding-top:30px;text-align:center}@media (max-width:1200px){.carousel-thumbnails{grid-template-columns:repeat(4,1fr)}.carousel-nav.prev{left:10px}.carousel-nav.next{right:10px}}@media (max-width:768px){.header-content{flex-direction:column;gap:16px}.logo-section{justify-content:center;width:100%}.logo{font-size:28px}.logo-badge{font-size:10px;padding:4px 8px}.nav-menu{flex-wrap:wrap;gap:10px;justify-content:center;width:100%}.cta-button,.nav-link-btn,.sign-in-button{font-size:14px;padding:10px 16px}.hero-title{font-size:48px}.carousel-main-title{font-size:40px}.carousel-featured{height:50vh}.featured-title{font-size:36px}.carousel-thumbnails{gap:12px;grid-template-columns:repeat(3,1fr)}.carousel-nav{height:48px;width:48px}.carousel-nav svg{height:24px;width:24px}.steps-container{flex-direction:column}.step-arrow{transform:rotate(90deg)}.cta-title{font-size:36px}.footer-content{flex-direction:column;gap:32px}.footer-links{align-items:flex-start;flex-direction:column;gap:16px}}@media (max-width:480px){.header-content{padding:16px 0}.logo{font-size:24px}.logo-badge{font-size:9px;padding:3px 6px}.nav-menu{gap:8px}.nav-link-btn{font-size:13px;padding:8px 12px}.cta-button,.sign-in-button{font-size:13px;padding:8px 14px}.hero-title{font-size:36px}.carousel-main-title{font-size:32px}.carousel-thumbnails{grid-template-columns:repeat(2,1fr)}.featured-title{font-size:28px}.carousel-action-button{font-size:16px;padding:20px 40px}}.itineraries-page{background:#fafafa;min-height:100vh;padding-top:70px}.itineraries-container{margin:0 auto;max-width:1400px;padding:0 24px 80px}.itineraries-hero{padding:80px 0 60px;text-align:center}.hero-content{margin-bottom:48px}.hero-title{color:#000;font-size:64px;font-weight:900;letter-spacing:-3px;margin:0 0 16px}.hero-subtitle{color:#666;font-size:20px;font-weight:400;margin:0}.stats-row{grid-gap:24px;display:grid;gap:24px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin:0 auto;max-width:800px}.stat-card{align-items:center;background:#fff;border:1px solid #e5e5e5;border-radius:24px;box-shadow:0 2px 12px #0000000f;display:flex;gap:20px;padding:32px;transition:all .3s}.stat-card:hover{box-shadow:0 8px 24px #0000001f;transform:translateY(-4px)}.stat-icon{font-size:48px;line-height:1}.stat-info{text-align:left}.stat-value{color:#000;font-size:36px;font-weight:900;letter-spacing:-1px;line-height:1;margin-bottom:4px}.stat-label{color:#666;font-size:14px;font-weight:600;letter-spacing:.5px;text-transform:uppercase}.controls-bar{background:#fff;border:1px solid #e5e5e5;border-radius:16px;box-shadow:0 2px 8px #0000000a;justify-content:space-between;margin-bottom:40px;padding:20px 24px}.controls-bar,.sort-controls{align-items:center;display:flex}.sort-controls{gap:12px}.sort-controls label{color:#666;font-size:14px;font-weight:600}.sort-controls select{background:#fff;border:2px solid #e5e5e5;border-radius:12px;color:#000;cursor:pointer;font-size:14px;font-weight:600;padding:10px 16px;transition:all .3s}.sort-controls select:hover{border-color:#d4d4d4}.sort-controls select:focus{border-color:#000;outline:none}.new-trip-btn{align-items:center;background:#000;border:none;border-radius:12px;color:#fff;cursor:pointer;display:inline-flex;font-size:14px;font-weight:700;gap:8px;padding:12px 24px;transition:all .3s}.new-trip-btn:hover{background:#1a1a1a;box-shadow:0 4px 12px #00000026;transform:translateY(-2px)}.itineraries-grid{grid-gap:32px;display:grid;gap:32px;grid-template-columns:repeat(auto-fill,minmax(380px,1fr))}.itinerary-card{background:#fff;border:1px solid #e5e5e5;border-radius:24px;box-shadow:0 2px 12px #0000000f;cursor:pointer;display:flex;flex-direction:column;overflow:hidden;transition:all .3s}.itinerary-card:hover{border-color:#d4d4d4;box-shadow:0 12px 30px #0000001f;transform:translateY(-8px)}.card-image-header{background:linear-gradient(135deg,#000,#333);height:200px;overflow:hidden;position:relative}.card-image-header:before{background:url("data:image/svg+xml;charset=utf-8,%3Csvg width='100' height='100' xmlns='http://www.w3.org/2000/svg'%3E%3Cdefs%3E%3Cpattern id='a' width='20' height='20' patternUnits='userSpaceOnUse'%3E%3Cpath d='M20 0H0v20' fill='none' stroke='rgba(255,255,255,0.05)'/%3E%3C/pattern%3E%3C/defs%3E%3Cpath fill='url(%23a)' d='M0 0h100v100H0z'/%3E%3C/svg%3E");bottom:0;content:"";left:0;opacity:.5;position:absolute;right:0;top:0}.destination-overlay{background:linear-gradient(0deg,#000c 0,#0000);bottom:0;left:0;padding:24px;position:absolute;right:0;z-index:1}.destination-name{color:#fff;font-size:28px;font-weight:900;letter-spacing:-1px;text-shadow:0 2px 8px #0000004d}.card-body{display:flex;flex:1 1;flex-direction:column;gap:16px;padding:24px}.trip-title{color:#000;font-size:20px;font-weight:700;letter-spacing:-.5px;line-height:1.3;margin:0}.trip-description{-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;color:#666;display:-webkit-box;font-size:14px;line-height:1.6;margin:0;overflow:hidden}.trip-details{display:flex;flex-direction:column;gap:8px}.detail-item{align-items:center;color:#666;display:flex;font-size:13px;font-weight:500;gap:8px}.detail-item svg{color:#999;flex-shrink:0}.highlights{display:flex;flex-wrap:wrap;gap:8px;margin-top:auto}.highlight-tag{background:#f5f5f5;border-radius:20px;color:#666;font-size:11px;font-weight:700;letter-spacing:.5px;padding:6px 14px;text-transform:uppercase;white-space:nowrap}.card-footer{align-items:center;background:#fafafa;border-top:1px solid #f5f5f5;display:flex;justify-content:space-between;padding:16px 24px}.created-date{color:#999;font-size:12px;font-weight:500}.card-actions{display:flex;gap:8px}.action-btn{align-items:center;background:#0000;border:none;border-radius:8px;color:#999;cursor:pointer;display:flex;height:32px;justify-content:center;transition:all .2s;width:32px}.action-btn:hover{background:#fff;transform:scale(1.1)}.delete-btn:hover{background:#fee;color:#d32f2f}.empty-state{background:#fff;border:1px solid #e5e5e5;border-radius:32px;box-shadow:0 4px 20px #00000014;padding:120px 40px;text-align:center}.empty-icon{animation:float 3s ease-in-out infinite;font-size:96px;margin-bottom:32px;opacity:.8}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.empty-state h2{color:#000;font-size:40px;font-weight:900;letter-spacing:-2px;margin:0 0 16px}.empty-state p{color:#666;font-size:18px;line-height:1.6;margin:0 auto 40px;max-width:500px}.create-trip-btn{align-items:center;background:#000;border:none;border-radius:50px;box-shadow:0 8px 24px #0003;color:#fff;cursor:pointer;display:inline-flex;font-size:16px;font-weight:700;gap:12px;padding:20px 48px;transition:all .3s}.create-trip-btn:hover{background:#1a1a1a;box-shadow:0 12px 32px #0000004d;transform:translateY(-4px)}.loading-state{align-items:center;display:flex;flex-direction:column;gap:24px;justify-content:center;min-height:60vh}.spinner{border:5px solid #e5e5e5;height:48px;width:48px}.loading-state p{color:#666;font-size:16px;font-weight:500}.error-state{align-items:center;display:flex;flex-direction:column;gap:24px;justify-content:center;min-height:60vh;text-align:center}.error-state p{color:#d32f2f;font-size:18px;font-weight:600;margin:0}.retry-btn{background:#000;border:none;border-radius:30px;box-shadow:0 4px 12px #00000026;color:#fff;cursor:pointer;font-size:15px;font-weight:700;padding:16px 40px;transition:all .3s}.retry-btn:hover{background:#1a1a1a;box-shadow:0 6px 20px #00000040;transform:translateY(-2px)}@media (max-width:1200px){.itineraries-grid{gap:24px;grid-template-columns:repeat(auto-fill,minmax(320px,1fr))}}@media (max-width:768px){.itineraries-container{padding:0 16px 60px}.itineraries-hero{padding:60px 0 40px}.hero-title{font-size:40px;letter-spacing:-2px}.hero-subtitle{font-size:16px}.stats-row{gap:16px;grid-template-columns:1fr}.stat-card{padding:24px}.stat-icon{font-size:40px}.stat-value{font-size:28px}.controls-bar{align-items:stretch;flex-direction:column;gap:16px}.sort-controls{justify-content:space-between;width:100%}.sort-controls select{flex:1 1}.new-trip-btn{justify-content:center;width:100%}.itineraries-grid{gap:20px;grid-template-columns:1fr}.card-image-header{height:160px}.destination-name{font-size:24px}.empty-state{padding:80px 24px}.empty-icon{font-size:72px}.empty-state h2{font-size:32px}.empty-state p{font-size:16px}.create-trip-btn{font-size:14px;padding:16px 32px}}@media (max-width:480px){.hero-title{font-size:32px}.card-body{padding:20px}.card-footer{padding:12px 20px}}.itinerary-view{background:#fafafa;min-height:100vh;padding-top:70px}.view-content{padding:40px 24px 80px}.content-container{margin:0 auto;max-width:900px}.inline-back-btn{align-items:center;background:#fff;border:1px solid #e5e5e5;border-radius:20px;color:#000;cursor:pointer;display:inline-flex;font-size:14px;font-weight:600;gap:8px;margin-bottom:32px;padding:10px 20px;transition:all .3s}.inline-back-btn:hover{background:#000;border-color:#000;color:#fff}.inline-back-btn svg{transition:transform .3s}.inline-back-btn:hover svg{transform:translateX(-2px)}.destination-gallery{border-radius:24px;box-shadow:0 4px 20px #0000001a;margin-bottom:48px;overflow:hidden}.gallery-main{background:#000;height:500px;position:relative;width:100%}.gallery-main img{height:100%;object-fit:cover;width:100%}.gallery-nav{align-items:center;background:#fffffff2;border:none;border-radius:50%;cursor:pointer;display:flex;height:48px;justify-content:center;position:absolute;top:50%;transform:translateY(-50%);transition:all .3s;width:48px;z-index:10}.gallery-nav:hover{background:#fff;box-shadow:0 4px 12px #00000026;transform:translateY(-50%) scale(1.1)}.gallery-nav.prev{left:16px}.gallery-nav.next{right:16px}.gallery-nav svg{color:#000;height:24px;width:24px}.image-attribution{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#000000b3;border-radius:8px;bottom:16px;color:#fff;font-size:11px;left:16px;padding:8px 12px;position:absolute}.image-attribution a{color:#fff;text-decoration:underline}.gallery-thumbs{background:#fff;display:flex;gap:12px;overflow-x:auto;padding:16px}.gallery-thumb{border:3px solid #0000;border-radius:12px;cursor:pointer;flex-shrink:0;height:70px;overflow:hidden;transition:all .3s;width:100px}.gallery-thumb:hover{transform:scale(1.05)}.gallery-thumb.active{border-color:#000}.gallery-thumb img{height:100%;object-fit:cover;width:100%}.trip-header{margin-bottom:48px;position:relative;text-align:center}.trip-badge{background:#000;border-radius:20px;color:#fff;display:inline-block;font-size:13px;font-weight:700;letter-spacing:.5px;margin-bottom:24px;padding:8px 20px}.trip-main-title{color:#000;font-size:48px;font-weight:900;letter-spacing:-2px;line-height:1.1;margin:0 0 16px}.trip-desc{color:#666;font-size:18px;line-height:1.6;margin:0 0 24px}.trip-meta{display:flex;flex-wrap:wrap;gap:24px;justify-content:center;margin-bottom:24px}.meta-item{color:#666;font-size:14px;font-weight:500}.delete-trip-btn{align-items:center;background:#0000;border:2px solid #e5e5e5;border-radius:20px;color:#666;cursor:pointer;display:inline-flex;font-size:14px;font-weight:700;gap:8px;padding:10px 20px;transition:all .3s}.delete-trip-btn:hover{background:#fee;border-color:#d32f2f;color:#d32f2f}.days-container{display:flex;flex-direction:column;gap:32px;margin-bottom:60px}.day-card{background:#fff;border:1px solid #e5e5e5;border-radius:24px;box-shadow:0 2px 12px #0000000f;padding:40px;transition:all .3s}.day-card:hover{box-shadow:0 8px 24px #0000001a}.day-header{border-bottom:2px solid #f5f5f5;margin-bottom:32px;padding-bottom:24px}.day-number{background:#000;border-radius:20px;color:#fff;display:inline-block;font-size:12px;font-weight:700;letter-spacing:.5px;margin-bottom:12px;padding:6px 16px}.day-title{color:#000;font-size:28px;font-weight:800;letter-spacing:-1px;margin:0 0 8px}.day-date{color:#999;font-size:14px;font-weight:500}.activities-section{margin-bottom:32px}.section-title{color:#000;font-size:18px;font-weight:700;letter-spacing:-.5px;margin:0 0 16px}.activities-list{display:flex;flex-direction:column;gap:16px}.activity-item{background:#f5f5f5;border-radius:16px;padding:20px;transition:all .3s}.activity-item:hover{background:#ebebeb}.activity-header{align-items:flex-start;display:flex;gap:16px;justify-content:space-between;margin-bottom:8px}.activity-name{color:#000;font-size:16px;font-weight:700}.activity-time{color:#666;font-size:13px;font-weight:600;white-space:nowrap}.activity-desc{color:#666;font-size:14px;line-height:1.6;margin:0 0 8px}.activity-duration{color:#999;font-size:12px;font-weight:500}.place-section{margin-bottom:24px}.place-section:last-of-type{margin-bottom:0}.place-card{background:#f5f5f5;border-radius:16px;display:flex;gap:16px;padding:16px;transition:all .3s}.place-card:hover{background:#ebebeb}.place-image{background:#e5e5e5;border-radius:12px;flex-shrink:0;height:100px;overflow:hidden;position:relative;width:140px}.place-image img{height:100%;object-fit:cover;width:100%}.place-image-badge{align-items:center;background:#000c;border-radius:6px;bottom:8px;color:#fff;display:flex;font-size:11px;font-weight:600;gap:4px;padding:4px 8px;position:absolute;right:8px}.place-image-badge svg{height:12px;width:12px}.place-info{display:flex;flex:1 1;flex-direction:column;gap:8px}.place-name{color:#000;font-size:16px;font-weight:700;margin:0}.place-meta{color:#666;flex-wrap:wrap;font-size:13px;gap:12px}.place-meta,.place-rating{align-items:center;display:flex}.place-rating{color:#000;font-weight:600;gap:4px}.place-rating svg{color:#fbbf24;height:14px;width:14px}.place-address{font-weight:500}.place-link{align-items:center;color:#000;display:inline-flex;font-size:13px;font-weight:600;gap:4px;text-decoration:none;transition:all .2s}.place-link:hover{transform:translateX(4px)}.place-link.booking-link{background:linear-gradient(135deg,#0035801a,#00224f0d);border-radius:4px;color:#003580;font-weight:600;margin-left:1rem;padding:.25rem .5rem}.place-link.booking-link:hover{background:linear-gradient(135deg,#00358026,#00224f1a);color:#004a9f;transform:translateX(4px)}.place-link.restaurant-link{background:linear-gradient(135deg,#00af871a,#00897b0d);border-radius:4px;color:#00af87;font-weight:600;margin-left:1rem;padding:.25rem .5rem}.place-link.restaurant-link:hover{background:linear-gradient(135deg,#00af8726,#00897b1a);color:#00c99a;transform:translateX(4px)}.place-text{color:#666;font-size:15px;line-height:1.6;margin:8px 0 0}.tips-section{background:#fff;border:1px solid #e5e5e5;border-radius:24px;box-shadow:0 2px 12px #0000000f;padding:40px}.tips-title{color:#000;font-size:24px;font-weight:800;letter-spacing:-1px;margin:0 0 24px}.tips-list{display:flex;flex-direction:column;gap:12px;list-style:none;margin:0;padding:0}.tip-item{color:#666;font-size:15px;line-height:1.6;padding-left:24px;position:relative}.tip-item:before{color:#000;content:"•";font-weight:700;left:8px;position:absolute}.error-container,.loading-container{align-items:center;display:flex;flex-direction:column;gap:24px;justify-content:center;min-height:60vh}.spinner{animation:spin 1s linear infinite;border:4px solid #e5e5e5;border-radius:50%;border-top-color:#000;height:40px;width:40px}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.error-message,.loading-container p{color:#666;font-size:15px;font-weight:500}.error-container .back-btn{background:#000;border:2px solid #000;border-radius:30px;color:#fff;cursor:pointer;font-size:15px;font-weight:700;padding:14px 32px;transition:all .3s}.error-container .back-btn:hover{background:#1a1a1a;transform:translateY(-2px)}.no-data{background:#fff;border:1px solid #e5e5e5;border-radius:24px;box-shadow:0 2px 12px #0000000f;padding:60px 40px;text-align:center}.no-data p{color:#999;font-size:15px;font-weight:500;margin:0}@media (max-width:768px){.view-content{padding:24px 16px 60px}.inline-back-btn{margin-bottom:24px}.gallery-main{height:300px}.destination-gallery{margin-bottom:32px}.trip-main-title{font-size:32px}.trip-desc{font-size:16px}.day-card{padding:24px}.day-title{font-size:22px}.activity-header{flex-direction:column;gap:8px}.trip-meta{flex-direction:column;gap:12px}.tips-section{padding:24px}.place-card{flex-direction:column}.place-image{height:180px;width:100%}.gallery-thumbs{gap:8px;padding:12px}.gallery-thumb{height:60px;width:80px}}.pricing-page{background:#fafafa;min-height:100vh;padding:0}.pricing-page-header{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:#fffffffa;border-bottom:1px solid #e5e5e5;box-shadow:0 1px 3px #0000000d;position:-webkit-sticky;position:sticky;top:0;z-index:1000}.header-content{padding:20px 0}.logo-section{align-items:center;display:flex;gap:12px}.logo{color:#000;font-size:36px;font-weight:900;letter-spacing:-2px;margin:0}.logo-badge{background:#000;border-radius:20px;color:#fff;font-size:12px;font-weight:700;letter-spacing:.5px;padding:6px 14px}.nav-menu{align-items:center;display:flex;gap:16px}.sign-in-button{background:#0000;border:2px solid #000;border-radius:30px;color:#000;cursor:pointer;font-size:15px;font-weight:700;padding:12px 28px;transition:all .3s}.sign-in-button:hover{background:#000;color:#fff;transform:translateY(-2px)}.cta-button{background:#000;border:none;border-radius:30px;box-shadow:0 4px 12px #00000026;color:#fff;cursor:pointer;font-size:15px;font-weight:700;padding:14px 32px;transition:all .3s}.cta-button:hover{background:#1a1a1a;box-shadow:0 6px 20px #00000040;transform:translateY(-2px)}.pricing-container{margin:0 auto;max-width:1400px;padding:0 24px}.pricing-header{background:#fff;margin-bottom:60px;padding:80px 0 60px;position:relative;text-align:center}.pricing-header h1{color:#000;font-size:64px;font-weight:900;letter-spacing:-3px;margin:0 0 16px}.pricing-subtitle{color:#666;font-size:20px;font-weight:400;margin:0}.error-banner{background:#f44;border-radius:8px;color:#fff;font-weight:600;margin:0 auto 40px;max-width:800px;padding:16px 24px;text-align:center}.pricing-cards{grid-gap:40px;display:grid;gap:40px;grid-template-columns:repeat(auto-fit,minmax(380px,1fr));margin-bottom:80px;margin-left:auto;margin-right:auto;max-width:1000px}.pricing-card{background:#fff;border:2px solid #e5e5e5;border-radius:16px;padding:48px 40px;position:relative;transition:all .3s ease}.pricing-card:hover{border-color:#000;box-shadow:0 8px 24px #00000014;transform:translateY(-4px)}.pricing-card.featured{border:3px solid #000;box-shadow:0 4px 16px #0000000f;transform:scale(1.02)}.pricing-card.featured:hover{box-shadow:0 12px 32px #0000001f;transform:scale(1.02) translateY(-4px)}.plan-badge{background:#000;border-radius:20px;color:#fff;display:inline-block;font-size:13px;font-weight:700;letter-spacing:.5px;margin-bottom:24px;padding:8px 20px;text-transform:uppercase}.plan-badge.popular{background:#000;box-shadow:0 4px 12px #00000026}.plan-price{align-items:flex-start;display:flex;justify-content:center;margin:24px 0 32px}.plan-price .currency{color:#000;font-size:32px;font-weight:900;margin-top:12px}.plan-price .amount{color:#000;font-size:80px;font-weight:900;letter-spacing:-4px;line-height:1}.plan-price .period{color:#666;font-size:20px;font-weight:500;margin-left:4px;margin-top:40px}.plan-description{align-items:center;color:#666;display:flex;font-size:17px;justify-content:center;line-height:1.5;margin-bottom:40px;min-height:48px;text-align:center}.plan-features{list-style:none;margin:40px 0;padding:0}.plan-features li{border-bottom:1px solid #e5e5e5;color:#333;font-size:16px;font-weight:500;padding:14px 0}.plan-features li:last-child{border-bottom:none}.subscribe-button{background:#000;border:none;border-radius:30px;box-shadow:0 4px 12px #00000026;color:#fff;cursor:pointer;font-size:16px;font-weight:700;padding:16px 32px;transition:all .3s ease;width:100%}.subscribe-button:hover:not(:disabled){background:#1a1a1a;box-shadow:0 6px 20px #00000040;transform:translateY(-2px)}.subscribe-button:disabled{cursor:not-allowed;opacity:.5}.subscribe-button.featured{background:#000;box-shadow:0 6px 16px #0003}.subscribe-button.featured:hover:not(:disabled){box-shadow:0 8px 24px #0000004d}.savings-badge{background:#f5f5f5;border-radius:20px;color:#000;display:inline-block;font-size:15px;font-weight:700;margin-top:20px;padding:8px 16px;text-align:center;width:100%}.pricing-footer{background:#fff;margin-top:40px;padding:60px 24px 80px;text-align:center}.pricing-footer p{color:#666;font-size:16px;font-weight:500;margin:12px 0}.money-back{color:#000;font-size:18px;font-weight:700;margin-top:20px}@media (max-width:768px){.logo{font-size:28px}.logo-badge{font-size:11px;padding:5px 12px}.nav-menu{gap:12px}.cta-button,.sign-in-button{font-size:14px;padding:10px 20px}.pricing-header{padding:60px 0 40px}.pricing-header h1{font-size:48px;letter-spacing:-2px}.pricing-subtitle{font-size:18px}.pricing-cards{gap:24px;grid-template-columns:1fr;padding:0}.pricing-card{padding:36px 28px}.pricing-card.featured{transform:scale(1)}.pricing-card.featured:hover{transform:translateY(-4px)}.plan-price .amount{font-size:64px;letter-spacing:-3px}.pricing-footer{padding:40px 24px 60px}}.subscription-required{align-items:center;background:#fafafa;display:flex;justify-content:center;min-height:100vh;padding:40px 20px}.subscription-required-container{background:#fff;border:2px solid #e5e5e5;border-radius:16px;max-width:640px;padding:64px 48px;text-align:center}.subscription-icon{font-size:72px;margin-bottom:24px}.subscription-required-container h1{color:#000;font-size:48px;font-weight:900;letter-spacing:-2px;margin-bottom:20px}.subscription-message{color:#666;font-size:18px;font-weight:500;line-height:1.6;margin-bottom:48px}.features-preview{background:#fafafa;border:1px solid #e5e5e5;border-radius:12px;margin-bottom:48px;padding:36px 32px;text-align:left}.features-preview h3{color:#000;font-size:24px;font-weight:700;margin-bottom:24px;text-align:center}.features-preview ul{list-style:none;margin:0;padding:0}.features-preview li{border-bottom:1px solid #e5e5e5;color:#333;font-size:16px;font-weight:500;padding:14px 0}.features-preview li:last-child{border-bottom:none}.subscription-actions{display:flex;flex-wrap:wrap;gap:16px;justify-content:center}.btn-subscribe{background:#000;border:none;border-radius:30px;box-shadow:0 4px 12px #00000026;color:#fff;cursor:pointer;font-size:16px;font-weight:700;padding:16px 40px;transition:all .3s ease}.btn-subscribe:hover{background:#1a1a1a;box-shadow:0 6px 20px #00000040;transform:translateY(-2px)}.btn-secondary{background:#0000;border:2px solid #000;border-radius:30px;color:#000;cursor:pointer;font-size:16px;font-weight:700;padding:16px 40px;transition:all .3s ease}.btn-secondary:hover{background:#000;color:#fff;transform:translateY(-2px)}@media (max-width:768px){.subscription-required{padding:24px 16px}.subscription-required-container{padding:48px 28px}.subscription-icon{font-size:64px}.subscription-required-container h1{font-size:36px;letter-spacing:-1px}.subscription-message{font-size:16px}.features-preview{padding:28px 24px}.features-preview h3{font-size:20px}.subscription-actions{flex-direction:column;gap:12px}.btn-secondary,.btn-subscribe{width:100%}}.policy-page{background:#fafafa;min-height:100vh;padding:40px 20px}.policy-container{background:#fff;border-radius:16px;box-shadow:0 2px 12px #0000000f;margin:0 auto;max-width:900px;padding:60px 80px}.back-button{align-items:center;background:#0000;border:none;color:#666;cursor:pointer;display:inline-flex;font-size:15px;font-weight:600;gap:8px;margin-bottom:40px;padding:8px 0;transition:color .3s}.back-button:hover{color:#000}.policy-title{color:#000;font-size:48px;font-weight:900;letter-spacing:-2px;margin:0 0 12px}.policy-date{color:#999;font-size:14px;margin:0 0 48px}.policy-content{color:#333;line-height:1.8}.policy-section{margin-bottom:48px}.policy-section h2{color:#000;font-size:28px;font-weight:800;letter-spacing:-1px;margin:0 0 20px}.policy-section h3{color:#000;font-size:20px;font-weight:700;margin:24px 0 12px}.policy-section p{color:#555;font-size:16px;line-height:1.8;margin:0 0 16px}.policy-section ul{margin:16px 0;padding-left:24px}.policy-section li{color:#555;font-size:16px;line-height:1.7;margin-bottom:12px}.policy-section a{color:#000;text-decoration:underline;transition:opacity .3s}.policy-section a:hover{opacity:.7}.company-info{background:#f5f5f5;border-left:4px solid #000;border-radius:12px;margin-top:24px;padding:24px}.company-info p{color:#333;font-family:monospace;font-size:14px;margin:6px 0}.company-info strong{color:#000;font-weight:800}.note{background:#fffbeb;border-left:4px solid #f59e0b;border-radius:8px;margin:20px 0;padding:16px 20px}.note strong{color:#000;font-weight:700}@media (max-width:768px){.policy-container{padding:40px 32px}.policy-title{font-size:36px}.policy-section h2{font-size:24px}.policy-section h3{font-size:18px}}@media (max-width:480px){.policy-container{padding:32px 24px}.policy-title{font-size:28px}.policy-section h2{font-size:20px}}.App{background:linear-gradient(180deg,#fff,#f9fafb);display:flex;flex-direction:column;min-height:100vh}.App.app-with-sidebar{flex-direction:row}.app-main-container{display:flex;flex:1 1;flex-direction:column;margin-left:0;width:100%}@media (max-width:768px){.app-main-container{margin-left:0}}.app-header{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fff;border-bottom:1px solid #e5e5e5;box-shadow:0 2px 8px #0000000a;padding:1rem 2rem 1rem 300px;position:-webkit-sticky;position:sticky;top:0;transition:padding-left .3s cubic-bezier(.4,0,.2,1);z-index:50}body:has(.chat-history.collapsed) .app-header{padding-left:70px}.header-content{justify-content:space-between;margin:0 auto;max-width:100%}.header-brand,.header-content{align-items:center;display:flex}.header-brand{gap:.75rem}.app-title{color:#000;font-size:1.875rem;font-weight:900;letter-spacing:-2px;margin:0}.app-subtitle,.mvp-badge{display:none}.header-actions{align-items:center;display:flex;gap:1rem}.header-btn{border:none;border-radius:8px;box-shadow:0 1px 2px #0000000d;cursor:pointer;font-size:.875rem;font-weight:600;padding:.625rem 1.25rem;transition:all .2s cubic-bezier(.4,0,.2,1)}.header-btn-primary{background:linear-gradient(135deg,#8b5cf6,#7c3aed);border:1px solid #fff3;color:#fff}.header-btn-primary:hover{background:linear-gradient(135deg,#7c3aed,#6d28d9);box-shadow:0 4px 12px #8b5cf64d;transform:translateY(-1px)}.header-btn-primary:active{transform:translateY(0)}.header-btn-settings{align-items:center;background:#fafafa;border:1px solid #e5e5e5;border-radius:12px;color:#000;display:flex;font-weight:600;gap:.625rem}.header-btn-settings:hover{background:#000;border-color:#000;box-shadow:0 4px 12px #00000026;color:#fff;transform:translateY(-2px)}.header-btn-settings:hover svg{color:#fff}.header-btn-settings svg{color:#666;height:20px;transition:color .2s;width:20px}.header-btn-trips{align-items:center;background:linear-gradient(135deg,#2c2c2c,#5a5a5a);border:none;border-radius:12px;box-shadow:0 2px 8px #0000001a;color:#fff;display:flex;font-weight:600;gap:.625rem}.header-btn-trips:hover{background:linear-gradient(135deg,#1a1a1a,#3a3a3a);box-shadow:0 4px 16px #0003;transform:translateY(-2px)}.header-btn-trips svg{color:#fff;height:20px;width:20px}.user-profile-section{align-items:center;display:flex;margin-left:.5rem}.user-profile-section button{transition:all .2s}.user-profile-section button:hover{transform:scale(1.05)}.header-preferences{align-items:center;display:flex;gap:.5rem}.preference-dropdown{position:relative}.preference-btn{align-items:center;background:#fafafa;border:1px solid #e5e5e5;border-radius:10px;color:#2c2c2c;cursor:pointer;display:flex;font-size:.875rem;font-weight:600;gap:.5rem;justify-content:center;min-width:80px;padding:.5rem .75rem;transition:all .2s cubic-bezier(.4,0,.2,1)}.preference-btn:hover{background:#f0f0f0;border-color:#d0d0d0;box-shadow:0 2px 8px #00000014;transform:translateY(-1px)}.preference-btn:active{transform:translateY(0)}.preference-icon{font-size:1.125rem;line-height:1}.preference-label{color:#2c2c2c;font-size:.8125rem;font-weight:600}.dropdown-arrow{margin-left:.125rem;opacity:.6;transition:transform .2s}.preference-btn:hover .dropdown-arrow{opacity:1}.temperature-toggle{background:#fafafa}.temperature-toggle:hover{background:#000;border-color:#000}.temperature-toggle:hover .preference-label{color:#fff}.preference-dropdown-menu{animation:dropdownSlide .2s cubic-bezier(.4,0,.2,1);background:#fff;border:1px solid #e5e5e5;border-radius:12px;box-shadow:0 8px 24px #0000001f;max-height:400px;min-width:200px;overflow-y:auto;position:absolute;right:0;top:calc(100% + .5rem);z-index:100}@keyframes dropdownSlide{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.dropdown-item{align-items:center;background:#fff;border:none;border-bottom:1px solid #f5f5f5;color:#2c2c2c;cursor:pointer;display:flex;font-size:.875rem;font-weight:500;gap:.75rem;padding:.75rem 1rem;text-align:left;transition:all .15s ease;width:100%}.dropdown-item:last-child{border-bottom:none}.dropdown-item:hover{background:#f9f9f9}.dropdown-item.active{background:#f0f0ff;color:#7c3aed;font-weight:600}.dropdown-item.active:hover{background:#e8e8ff}.item-icon{font-size:1.25rem;line-height:1}.item-name{flex:1 1}.check-icon{color:#7c3aed;flex-shrink:0;height:16px;width:16px}.app-main{align-items:center;background:#fff;display:flex;flex:1 1;justify-content:center;padding:0}@media (max-width:768px){.app-header{padding:1rem}.app-title{font-size:1.5rem}.mvp-badge{font-size:.625rem;padding:.2rem .5rem}.header-btn{font-size:.8125rem;padding:.5rem 1rem}.header-btn-trips{padding:.5rem .75rem}.app-subtitle{font-size:.875rem}.header-preferences{gap:.375rem}.preference-btn{min-width:70px;padding:.5rem .625rem}.preference-label{font-size:.75rem}.preference-dropdown-menu{min-width:180px}}@media (max-width:480px){.header-btn-trips{min-width:40px;padding:.5rem}.preference-btn .preference-label{display:none}.preference-btn{min-width:45px;padding:.5rem}.header-preferences{gap:.25rem}}
/*# sourceMappingURL=main.24c7c2f6.css.map*/