@charset "UTF-8";.theme-toggle{background:none;border:none;cursor:pointer;padding:4px;display:flex;align-items:center;justify-content:center;transition:opacity .2s ease}.theme-toggle:hover{opacity:.8}.toggle-track{width:48px;height:24px;background:#e0e0e0;border-radius:12px;position:relative;transition:background .3s ease}[data-theme=dark] .toggle-track{background:#4a5568}.toggle-thumb{width:20px;height:20px;background:#fff;border-radius:50%;position:absolute;top:2px;display:flex;align-items:center;justify-content:center;transition:transform .3s ease,background .3s ease;box-shadow:0 2px 4px #0003;color:#fbbf24}.toggle-thumb.light{transform:translate(2px)}.toggle-thumb.dark{transform:translate(26px);background:#2d3748;color:#fbbf24}.toggle-thumb svg{display:block}.sidebar{grid-area:sidebar;display:flex;flex-direction:column;background:var(--bg-secondary);border-right:1px solid var(--border-color);overflow-y:auto;overflow-x:hidden;transition:all .3s ease;position:relative}.sidebar.collapsed{width:16px;min-width:16px;border-right:none;padding:0}.sidebar.collapsed .sidebar-logo,.sidebar.collapsed .new-chat-btn,.sidebar.collapsed .chat-list,.sidebar.collapsed .sidebar-footer{display:none}.sidebar-header{padding:20px;border-bottom:1px solid var(--border-color);display:flex;flex-direction:column;gap:16px}.sidebar-header-row{display:flex;align-items:center;justify-content:flex-start;width:100%;gap:8px}.sidebar.collapsed .sidebar-header{padding:16px;align-items:center;justify-content:center}.sidebar.collapsed .sidebar-header-row{display:none}.sidebar-logo{width:120px;height:auto;object-fit:contain;font-size:24px;font-weight:600;margin:0 0 16px;color:var(--text-primary)}.new-chat-btn{width:100%;padding:10px 16px;background:var(--accent-primary);color:#fff;border:none;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:background .2s}.new-chat-btn:hover{background:var(--accent-hover)}.sidebar-nav{padding:16px 12px;border-bottom:1px solid var(--border-color)}.nav-item{display:flex;align-items:center;gap:12px;padding:10px 12px;border-radius:8px;cursor:pointer;font-size:14px;color:var(--text-secondary);transition:background .2s}.nav-item:hover{background:var(--hover-bg)}.nav-item.active{background:var(--hover-bg);color:var(--accent-primary)}.nav-icon{font-size:18px}.nav-badge{margin-left:auto;background:var(--bg-tertiary);padding:2px 8px;border-radius:12px;font-size:12px}.chat-list{flex:1;overflow-y:auto;padding:8px}.chat-item{padding:12px;border-radius:8px;cursor:pointer;transition:background .2s;margin-bottom:4px;position:relative}.chat-item:hover{background:var(--hover-bg)}.chat-item:hover .delete-chat-btn{opacity:1}.delete-chat-btn{position:absolute;right:8px;top:8px;background:transparent;border:none;color:var(--text-secondary);cursor:pointer;padding:4px;border-radius:4px;opacity:0;transition:all .2s;display:flex;align-items:center;justify-content:center}.delete-chat-btn:hover{background:#ff00001a;color:#f44}.chat-item.active{background:var(--bg-tertiary);border-left:3px solid var(--accent-primary)}.chat-item.active .chat-item-title{color:var(--text-primary);font-weight:600}.chat-item.active .chat-item-message,.chat-item.active .chat-item-time{color:var(--text-secondary)}.chat-item-title{font-size:14px;font-weight:500;margin:0 0 4px;color:var(--text-primary);padding-right:20px}.chat-item-message{font-size:12px;color:var(--text-secondary);margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chat-item-time{font-size:11px;color:var(--text-muted)}.sidebar-footer{padding:16px;border-top:1px solid var(--border-color)}.user-profile{display:flex;align-items:center;gap:12px}.user-avatar{width:32px;height:32px;border-radius:50%;background:var(--accent-primary);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:600}.user-name{font-size:14px;color:var(--text-primary)}.markdown-content{color:inherit}.markdown-content h1{font-size:1.5em;font-weight:700;margin:.5em 0;border-bottom:1px solid var(--border-color);padding-bottom:.2em;color:inherit}.markdown-content h2{font-size:1.3em;font-weight:700;margin:.4em 0;color:inherit}.markdown-content h3{font-size:1.1em;font-weight:700;margin:.3em 0;color:inherit}.markdown-content p{margin:.5em 0;line-height:1.4;color:inherit}.markdown-content ul{margin:.5em 0;padding-left:1.5em;color:inherit}.markdown-content li{margin:.3em 0;color:inherit}.markdown-content code{background-color:var(--bg-tertiary);color:inherit;padding:1px 3px;border-radius:3px;font-family:Courier New,monospace;font-size:.9em}.markdown-content pre{background-color:var(--bg-tertiary);color:inherit;padding:.8em;border-radius:4px;overflow-x:auto;margin:.5em 0;font-size:.9em;border:1px solid var(--border-color)}.markdown-content pre code{background:none;padding:0}.markdown-content a{color:var(--accent-primary);text-decoration:none}.markdown-content a:hover{text-decoration:underline;color:var(--accent-hover)}.markdown-content blockquote{border-left:3px solid var(--border-color);margin:.5em 0;padding:0 .8em;color:var(--text-muted);font-style:italic}.markdown-content strong{font-weight:700}.markdown-content em{font-style:italic}.markdown-content.plain-text{white-space:pre-wrap;word-wrap:break-word;margin:0;padding:0;line-height:1.4}.message-bubble .markdown-content{font-size:.95em}.message-bubble .markdown-content h1,.message-bubble .markdown-content h2,.message-bubble .markdown-content h3,.message-bubble .markdown-content p,.message-bubble .markdown-content ul{margin:.3em 0}.message-bubble .markdown-content li{margin:.2em 0}.markdown-content details{margin:.8em 0;padding:.6em;border:1px solid var(--border-color);border-radius:8px;background-color:#00000008}.markdown-content details summary{cursor:pointer;font-weight:600;padding:.4em;margin:-.6em -.6em 0;border-radius:8px 8px 0 0;-webkit-user-select:none;user-select:none;transition:background-color .2s}.markdown-content details summary:hover{background-color:#0000000d}.markdown-content details[open] summary{margin-bottom:.8em;border-bottom:1px solid var(--border-color)}.markdown-content details h3{margin-top:.8em;font-size:1.1em}.markdown-content details h3:first-of-type{margin-top:0}.markdown-content details ul{margin:.3em 0;padding-left:1.2em;list-style-type:disc}.markdown-content details li{margin:.2em 0;line-height:1.4}.message-bubble.user .markdown-content details{border-color:#ffffff4d;background-color:#ffffff1a}.message-bubble.user .markdown-content details summary:hover{background-color:#ffffff26}.message-bubble.user .markdown-content details[open] summary{border-bottom-color:#ffffff4d}.message-feedback{display:flex;flex-direction:column;gap:6px;padding-top:8px}.feedback-buttons{display:flex;align-items:center;gap:4px}.feedback-btn{background:transparent;border:none;cursor:pointer;padding:4px;border-radius:4px;color:var(--text-muted);display:flex;align-items:center;justify-content:center;transition:color .15s ease,transform .15s ease,background-color .15s ease}.feedback-btn:hover:not(:disabled){color:var(--text-secondary);transform:scale(1.1);background-color:var(--hover-bg)}.feedback-btn:disabled{cursor:default}.feedback-btn.selected.up{color:var(--accent-primary)}.feedback-btn.selected.down{color:#ef4444}.feedback-error{font-size:.75rem;color:#ef4444;margin-left:8px}.message-bubble{display:flex;align-items:flex-start;gap:12px;max-width:80%;margin-bottom:16px}.message-bubble.user{flex-direction:row-reverse;margin-left:auto}.message-bubble.assistant{max-width:100%}.message-content{background:var(--card-bg);padding:12px 16px;border-radius:18px;box-shadow:var(--shadow-sm);position:relative;word-wrap:break-word;max-width:100%;color:var(--text-primary)}.message-bubble.assistant .message-content{background:var(--card-bg);color:var(--text-primary)}.message-bubble.user .message-content{background:var(--accent-primary);color:#fff}.message-text{line-height:1.6}.recommendation-link-container{margin-top:12px;padding-top:12px;border-top:1px solid var(--border-color)}.recommendation-link{background:var(--accent-primary);color:#fff;border:none;padding:8px 16px;border-radius:20px;font-size:.9rem;cursor:pointer;transition:all .2s ease;display:inline-flex;align-items:center;gap:6px}.recommendation-link:hover{background:var(--accent-hover);transform:translateY(-1px);box-shadow:0 2px 8px #00000026}.recommendation-link:active{transform:translateY(0)}.message-bubble.debug .message-content{background:var(--bg-secondary, #f5f5f5);border:1px dashed var(--border-color, #ccc);border-radius:8px;padding:8px 12px;font-size:.8rem;opacity:.85}.message-bubble.debug .message-text{font-family:SF Mono,Fira Code,Consolas,monospace;line-height:1.4;color:var(--text-secondary, #666)}.message-bubble.debug .message-text code{background:var(--bg-tertiary, #eee);padding:1px 4px;border-radius:3px;font-size:.85em}.message-bubble.debug .message-text details{margin-top:4px}.message-bubble.debug .message-text details summary{cursor:pointer;color:var(--accent-primary, #007bff);font-size:.85em}.message-bubble.debug .message-text pre{max-height:200px;overflow:auto;font-size:.8em;margin:4px 0 0}.agent-turn{display:flex;flex-direction:column;gap:8px;max-width:100%}.thinking-area{padding:4px 0}.thinking-header{display:flex;align-items:center;gap:8px;padding:4px 8px;border-radius:8px;-webkit-user-select:none;user-select:none;min-height:28px}.thinking-header.clickable{cursor:pointer;transition:background-color .15s ease}.thinking-header.clickable:hover{background:var(--bg-secondary, #f5f5f5)}.thinking-spinner{display:inline-block;width:16px;height:16px;border:2px solid var(--border-color, #ddd);border-top-color:var(--accent-primary, #3b82f6);border-radius:50%;animation:thinking-spin .8s linear infinite;flex-shrink:0}@keyframes thinking-spin{to{transform:rotate(360deg)}}.thinking-sparkle{font-size:1rem;color:var(--accent-primary, #3b82f6);flex-shrink:0;line-height:1}.thinking-current-status{font-size:.85rem;color:var(--text-secondary, #666);flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.thinking-label{font-size:.85rem;color:var(--text-secondary, #222);flex:1}.thinking-arrow{font-size:1.25rem;color:var(--text-muted, #222);flex-shrink:0;margin-left:auto}.thinking-timeline{margin:4px 0 4px 16px;padding:0}.thinking-timeline-entry{display:flex;align-items:flex-start;gap:8px;min-height:24px}.thinking-timeline-bar{color:var(--border-color, #ddd);font-size:.85rem;line-height:1.6;flex-shrink:0;-webkit-user-select:none;user-select:none}.thinking-timeline-content{flex:1;min-width:0}.thinking-timeline-text{font-size:.85rem;color:var(--text-secondary, #666);line-height:1.6}.thinking-timeline-debug{font-family:SF Mono,Fira Code,Consolas,monospace;font-size:.75rem;color:var(--text-muted, #888);background:var(--bg-secondary, #f5f5f5);padding:4px 8px;border-radius:4px;margin:2px 0 4px;white-space:pre-wrap;word-break:break-all;max-height:150px;overflow:auto}.carousel-links-section{margin-bottom:12px;padding-bottom:12px;border-bottom:1px solid var(--border-color, #e0e0e0);display:flex;flex-direction:column;gap:8px}.carousel-link-item{display:flex;flex-direction:column;gap:4px}.carousel-link-title{font-size:.9rem;font-weight:600;color:var(--text-primary)}.carousel-link-button{background:none;border:none;padding:0;color:var(--accent-primary, #3b82f6);font-size:.85rem;cursor:pointer;text-decoration:none;display:inline-flex;align-items:center;gap:4px;transition:color .15s ease}.carousel-link-button:hover{color:var(--accent-hover, #2563eb);text-decoration:underline}.message-time{font-size:.75rem;opacity:.7;text-align:right}.message-bubble.user .message-time,.message-bubble.assistant .message-time{color:var(--text-muted)}@media(max-width:768px){.message-bubble{max-width:90%;gap:8px}.message-content{padding:10px 14px}.message-text{font-size:.9rem}.message-time{font-size:.7rem}}.session-rating-wrapper{position:fixed;bottom:24px;right:24px;z-index:150}.session-rating-trigger{display:inline-flex;align-items:center;gap:6px;background:var(--accent-primary);color:#fff;border:none;border-radius:20px;padding:8px 18px;font-size:.85rem;font-weight:500;cursor:pointer;transition:all .15s ease;white-space:nowrap;box-shadow:0 2px 8px #00000026}.session-rating-trigger:hover:not(:disabled){filter:brightness(1.1);transform:translateY(-1px);box-shadow:0 4px 12px #0003}.session-rating-trigger.rated{background:var(--bg-tertiary);color:var(--accent-primary);border:1px solid var(--accent-primary);box-shadow:none;cursor:default}.sr-trigger-icon{flex-shrink:0}.session-rating-popover{position:absolute;bottom:calc(100% + 8px);right:0;background:var(--card-bg);border:1px solid var(--border-color);border-radius:12px;padding:16px;box-shadow:var(--shadow-lg);z-index:100;min-width:300px;max-width:340px;display:flex;flex-direction:column;gap:12px}.sr-step-header{font-size:.9rem;font-weight:600;color:var(--text-primary);display:flex;flex-direction:column;gap:2px}.sr-hint{font-size:.75rem;font-weight:400;color:var(--text-secondary)}.sr-sentiment-row{display:flex;gap:8px}.sr-sentiment-btn{flex:1;display:flex;flex-direction:column;align-items:center;gap:4px;padding:12px 8px;border:1px solid var(--border-color);border-radius:10px;background:var(--bg-tertiary);cursor:pointer;transition:all .15s ease}.sr-sentiment-btn:hover{border-color:var(--accent-primary);background:var(--hover-bg);transform:translateY(-1px)}.sr-sentiment-emoji{font-size:1.4rem;line-height:1}.sr-sentiment-label{font-size:.72rem;color:var(--text-secondary);text-align:center;line-height:1.2}.sr-tags-grid{display:flex;flex-wrap:wrap;gap:6px}.sr-tag-pill{padding:5px 12px;border:1px solid var(--border-color);border-radius:16px;background:var(--bg-tertiary);color:var(--text-secondary);font-size:.8rem;cursor:pointer;transition:all .12s ease;line-height:1.3}.sr-tag-pill:hover{border-color:var(--accent-primary);color:var(--text-primary)}.sr-tag-pill.selected{background:var(--accent-primary);color:#fff;border-color:var(--accent-primary)}.sr-comment{font-size:.85rem;padding:8px 10px;border:1px solid var(--input-border);border-radius:8px;background:var(--input-bg);color:var(--text-primary);resize:none;outline:none;font-family:inherit;transition:border-color .15s ease}.sr-comment::placeholder{color:var(--placeholder-color)}.sr-comment:focus{border-color:var(--accent-primary)}.sr-error{font-size:.75rem;color:#ef4444;text-align:center}.sr-actions{display:flex;gap:8px;justify-content:flex-end}.sr-back{font-size:.85rem;padding:6px 14px;border:1px solid var(--border-color);border-radius:8px;background:transparent;color:var(--text-secondary);cursor:pointer;transition:background-color .15s ease}.sr-back:hover{background:var(--hover-bg)}.sr-submit{font-size:.85rem;padding:6px 14px;border:none;border-radius:8px;background:var(--accent-primary);color:#fff;cursor:pointer;transition:background-color .15s ease}.sr-submit:hover:not(:disabled){background:var(--accent-hover)}.sr-submit:disabled{opacity:.5;cursor:default}@media(max-width:768px){.session-rating-wrapper{bottom:16px;right:16px}.session-rating-trigger{font-size:.8rem;padding:5px 12px}.session-rating-popover{min-width:260px;max-width:300px}}.chat-panel{grid-area:chat;position:relative;background:var(--bg-primary);border-left:1px solid var(--border-color);overflow-y:auto;-ms-overflow-style:none;scrollbar-width:none}.chat-panel::-webkit-scrollbar{display:none}.chat-panel-content{padding:10px}.messages-container{flex:1;overflow-y:auto;overflow-x:hidden;padding:10px;display:flex;flex-direction:column;gap:20px;background:var(--bg-primary)}.chat-empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:48px 24px;text-align:center;color:var(--text-muted)}.chat-empty-title{font-size:16px;font-weight:500;color:var(--text-secondary);margin:0 0 8px}.chat-empty-subtitle{font-size:14px;margin:0}.welcome-message{text-align:center;padding:40px 20px;background:var(--card-bg);border-radius:12px;box-shadow:var(--shadow-md);margin:20px auto;max-width:600px}.welcome-message h3{color:var(--accent-primary);margin-bottom:16px;font-size:1.3rem}.welcome-message p{color:var(--text-secondary);margin-bottom:12px;line-height:1.6}.welcome-message ul{text-align:left;max-width:400px;margin:0 auto;padding-left:20px}.welcome-message li{color:var(--text-secondary);margin-bottom:8px;line-height:1.5}.loading-message{display:flex;align-items:center;gap:12px;background:var(--card-bg);padding:16px 20px;border-radius:18px;box-shadow:var(--shadow-sm);max-width:300px;align-self:flex-start;margin:10px}.typing-indicator{display:flex;gap:4px}.typing-indicator span{width:8px;height:8px;border-radius:50%;background:var(--accent-primary);animation:typing 1.4s infinite ease-in-out}.typing-indicator span:nth-child(1){animation-delay:-.32s}.typing-indicator span:nth-child(2){animation-delay:-.16s}@keyframes typing{0%,80%,to{transform:scale(.8);opacity:.5}40%{transform:scale(1);opacity:1}}.loading-message p{margin:0;color:var(--text-secondary);font-size:.9rem}.hotel-card{width:100%;min-width:280px;background:var(--card-bg);border-radius:12px;box-shadow:var(--shadow-sm);overflow:hidden;transition:all .3s ease;flex-shrink:0;position:relative;display:flex;flex-direction:row}.hotel-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-md)}.hotel-image-container{position:relative;width:350px;min-width:350px;height:100%;overflow:hidden;flex-shrink:0}.hotel-image{width:100%;height:100%;position:relative;overflow:hidden}.hotel-image img{width:100%;height:100%;object-fit:cover;transition:transform .3s ease}.hotel-image-placeholder{width:100%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;background:var(--bg-tertiary);color:var(--text-muted);font-size:16px;font-weight:500}.hotel-image-placeholder.hidden{display:none}.hotel-image-placeholder svg{margin-bottom:8px}.hotel-card:hover .hotel-image{transform:scale(1.05)}.hotel-action-buttons{position:absolute;top:12px;right:12px;display:flex;gap:8px;z-index:10}.favorite-button,.save-button{width:36px;height:36px;border:none;border-radius:50%;background:#ffffffe6;color:#d1d5db;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .3s ease;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.favorite-button:hover,.save-button:hover{background:#fff;transform:scale(1.1)}.favorite-button.favorited{color:#ef4444;background:#fffffff2}.save-button.saved{color:#3b82f6;background:#fffffff2}.hotel-content{padding:20px 24px;flex:1;display:flex;flex-direction:column}.hotel-header{margin-bottom:12px}.hotel-name-rating-row{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:6px}.hotel-card h3.hotel-name{margin:0;font-size:28px;font-weight:500;color:var(--text-primary);line-height:1.2;flex:1;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.hotel-location-row{display:flex;align-items:center;gap:8px;color:var(--text-secondary);font-size:16px;line-height:1.4}.hotel-city{color:var(--text-secondary)}.hotel-distance{color:var(--text-muted)}.highlight-tag{background:var(--bg-tertiary);color:var(--accent-primary);padding:4px 8px;border-radius:12px;font-size:16px;font-weight:500;border:1px solid var(--border-color)}.highlight-tag.ai-recommendation{background:linear-gradient(135deg,#6366f126,#8b5cf626);color:var(--accent-primary);font-size:16px;font-weight:600;padding:6px 12px;box-shadow:0 2px 8px #6366f133;animation:subtle-pulse 2s ease-in-out infinite}@keyframes subtle-pulse{0%,to{box-shadow:0 2px 8px #6366f133}50%{box-shadow:0 4px 12px #6366f14d}}.facility-badges{display:flex;flex-wrap:wrap;gap:5px;margin-bottom:12px}.facility-chip{display:inline-flex;align-items:center;gap:4px;padding:3px 8px;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:20px;color:var(--text-secondary);font-size:.78rem;font-weight:500;line-height:1.4;white-space:nowrap;transition:background .15s ease,color .15s ease}.facility-chip:hover{background:var(--bg-hover, rgba(99, 102, 241, .08));color:var(--accent-primary);border-color:var(--accent-primary)}.facility-chip-label{font-size:.78rem}.hotel-description{margin-bottom:16px}.hotel-vibe-wrapper{display:flex;align-items:flex-start;gap:8px;padding:10px 12px;background:linear-gradient(135deg,#6366f114,#8b5cf614);border-radius:8px;border-left:3px solid var(--accent-primary);transition:all .2s ease}.hotel-vibe-wrapper:hover{background:linear-gradient(135deg,#6366f11f,#8b5cf61f)}.vibe-text{color:var(--text-secondary);font-size:13px;line-height:1.6;margin-bottom:12px;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.hotel-inline-reason,.hotel-inline-highlight{color:var(--text-secondary);font-size:18px;line-height:1.4;margin-bottom:8px;display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.hotel-inline-reason{font-style:italic;font-weight:600}.hotel-vibe-pill{display:inline-block;align-self:flex-start;padding:3px 10px;background:linear-gradient(135deg,#6366f11a,#8b5cf61a);border:1px solid rgba(99,102,241,.25);border-radius:20px;font-size:15px;color:var(--accent-primary);font-weight:500;margin-bottom:8px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.hotel-rating-badge{display:inline-flex;align-items:center;gap:6px;padding:8px 14px;background:linear-gradient(135deg,#fef3c7,#fde68a);border:2px solid #f59e0b;border-radius:20px;box-shadow:0 2px 6px #f59e0b4d;flex-shrink:0}.rating-badge-star{font-size:18px}.rating-badge-score{font-size:18px;font-weight:700;color:#92400e}.rating-badge-count{font-size:14px;color:#78350f;margin-left:2px}.aspects-section{margin-bottom:14px}.aspects-list{display:flex;flex-direction:row;flex-wrap:wrap;gap:8px;padding:8px;background:var(--bg-secondary);border-radius:8px;border:1px solid var(--border-color)}.aspect-item{display:flex;align-items:center;gap:4px;position:relative;padding:4px 0}.aspect-icon{font-size:13px;font-weight:400;flex-shrink:0;width:20px;text-align:center}.aspect-label-button{flex:1;font-size:13px;color:var(--text-primary);font-weight:400;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:none;border:none;cursor:pointer;padding:4px 8px;border-radius:4px;text-align:left;transition:all .2s ease;position:relative}.aspect-label-button:hover{background:var(--bg-tertiary);color:var(--accent-primary)}.aspect-tooltip{position:absolute;bottom:100%;left:-50%;right:-50%;margin-bottom:8px;padding:16px 18px;background:#fff;border:1px solid var(--border-color);border-radius:10px;box-shadow:0 6px 20px #0003;z-index:10000;min-width:400px;max-width:600px}.tooltip-content{font-size:16px;line-height:1.7;color:var(--text-secondary);overflow-wrap:break-word;word-wrap:break-word;white-space:normal}.tooltip-content a{color:var(--accent-primary);text-decoration:underline;font-weight:500}.tooltip-content a:hover{color:var(--accent-secondary)}.hotel-footer{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:auto}.hotel-price{display:flex;flex-direction:column;align-items:flex-start}.hotel-price.sold-out{justify-content:center}.sold-out-label{font-size:1rem;font-weight:700;color:#dc2626;letter-spacing:.5px;text-transform:uppercase}.price-label{font-size:.75rem;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px}.price-amount{font-size:20px;font-weight:700;color:var(--text-primary)}.price-period{font-size:16px;color:var(--text-secondary)}.view-details-button{background:var(--accent-primary);color:#fff;border:none;padding:12px 24px;border-radius:6px;font-size:17px;font-weight:600;cursor:pointer;transition:all .3s ease;white-space:nowrap}.view-details-button:hover{background:var(--accent-hover);transform:translateY(-1px)}@media(max-width:768px){.hotel-card{flex-direction:column;min-width:280px;max-width:280px}.hotel-image-container{width:100%;min-width:100%;height:200px}.hotel-content{padding:12px}.hotel-card h3.hotel-name{font-size:20px}.hotel-footer{flex-direction:column;align-items:stretch;gap:8px}.view-details-button{width:100%;padding:10px}}.lazy-load-image-background.blur{filter:blur(15px)}.lazy-load-image-background.blur.lazy-load-image-loaded{filter:blur(0);transition:filter .3s}.lazy-load-image-background.blur>img{opacity:0}.lazy-load-image-background.blur.lazy-load-image-loaded>img{opacity:1;transition:opacity .3s}.hotel-card-compact{position:absolute;bottom:16px;left:16px;right:16px;max-width:600px;margin:0 auto;display:flex;align-items:stretch;background:#fff;border-radius:12px;box-shadow:0 4px 20px #00000040;overflow:hidden;z-index:10;height:120px}.compact-close-btn{position:absolute;top:4px;right:8px;background:none;border:none;font-size:20px;color:#666;cursor:pointer;z-index:11;line-height:1;padding:4px}.compact-close-btn:hover{color:#333}.compact-image{width:120px;min-width:120px;height:100%;overflow:hidden}.compact-image img,.compact-image .lazy-load-image-background{width:100%!important;height:100%!important;object-fit:cover!important}.compact-info{flex:1;padding:12px;display:flex;flex-direction:column;justify-content:center;gap:4px;min-width:0;overflow:hidden}.compact-header{display:flex;align-items:center;gap:8px}.compact-name{margin:0;font-size:15px;font-weight:600;color:#1a1a1a;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.compact-rating{display:flex;align-items:center;gap:2px;font-size:13px;font-weight:500;color:#333;white-space:nowrap}.compact-rating-star{font-size:12px}.compact-review-count{color:#888;font-size:12px;font-weight:400}.compact-distance{display:flex;align-items:center;gap:4px;font-size:13px;color:#555}.compact-distance svg{flex-shrink:0;color:#888}.compact-highlight{font-size:12px;color:#666;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.compact-price-section{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:12px 16px;min-width:90px;border-left:1px solid #eee}.compact-price{font-size:20px;font-weight:700;color:#1a8917}.compact-price-label{font-size:11px;color:#888}@media(max-width:480px){.hotel-card-compact{left:8px;right:8px;bottom:8px;height:100px}.compact-image{width:90px;min-width:90px}.compact-name{font-size:13px}.compact-price{font-size:16px}.compact-price-section{padding:8px 12px;min-width:70px}}.hotel-map-overlay{position:fixed;inset:0;z-index:9999;background:#fff;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,sans-serif}.map-container{width:100%;height:100%}.map-close-btn{position:absolute;top:12px;left:12px;z-index:10;width:40px;height:40px;border-radius:8px;border:none;background:#fff;box-shadow:0 2px 8px #0003;cursor:pointer;display:flex;align-items:center;justify-content:center;color:#333;transition:background .15s}.map-close-btn:hover{background:#f0f0f0}.map-reset-btn{position:absolute;top:12px;right:12px;z-index:10;padding:8px 16px;border-radius:20px;border:none;background:#fff;box-shadow:0 2px 8px #0003;cursor:pointer;font-size:13px;font-weight:500;color:#1a73e8;transition:background .15s}.map-reset-btn:hover{background:#e8f0fe}.target-destination-marker{display:flex;flex-direction:column;align-items:center;cursor:pointer}.target-pin{filter:drop-shadow(0 2px 4px rgba(0,0,0,.3))}.target-label{margin-top:2px;padding:2px 8px;background:#e53935;color:#fff;border-radius:4px;font-size:11px;font-weight:600;white-space:nowrap;box-shadow:0 1px 4px #0000004d}.hotel-price-marker{padding:5px 10px;border-radius:20px;font-size:13px;font-weight:700;color:#fff;white-space:nowrap;box-shadow:0 2px 6px #0000004d;transition:transform .15s,box-shadow .15s}.hotel-price-marker:hover{transform:scale(1.1);box-shadow:0 4px 12px #0006}.edge-pill{position:absolute;z-index:10;display:flex;align-items:center;gap:4px;padding:6px 12px;background:#fff;border:2px solid #1a73e8;border-radius:16px;box-shadow:0 2px 8px #0003;cursor:pointer;font-size:12px;font-weight:600;color:#333;transition:transform .15s,box-shadow .15s;white-space:nowrap}.edge-pill:hover{transform:scale(1.05);box-shadow:0 4px 12px #00000040;background:#e8f0fe}.edge-pill-price{color:#1a73e8}.edge-pill-arrow{font-size:14px;color:#666;display:inline-block}.edge-pill-top{margin-top:4px}.hotel-map-overlay .gm-style-iw,.hotel-map-overlay .gm-style-iw>div,.hotel-map-overlay .gm-style-iw-d,.hotel-map-overlay .gm-style-iw-c,.hotel-map-overlay .gm-style-iw-t{padding:0!important;margin:0!important;overflow:visible!important}.hotel-map-overlay .gm-style-iw-t:after,.hotel-map-overlay .gm-style-iw-tc:after,.hotel-map-overlay .gm-style-iw-tc:before{display:none!important}.hotel-map-overlay .gm-ui-hover-effect,.hotel-map-overlay .gm-style-iw button,.hotel-map-overlay .gm-style-iw .gm-ui-hover-effect{display:none!important}.hotel-carousel-container{background:var(--card-bg);border-radius:12px;box-shadow:var(--shadow-md);overflow:hidden;margin:0 auto;max-width:100%;position:relative}.hotel-carousel-header{padding:20px;background:var(--bg-secondary);border-bottom:1px solid var(--border-color);display:flex;justify-content:space-between;align-items:center;gap:16px}.header-title-section{flex:1}.hotel-carousel-header h3{margin:0 0 8px;color:var(--text-primary);font-size:1.1rem;font-weight:600}.hotel-carousel-header p{margin:0;color:var(--text-secondary);font-size:.9rem}.clear-all-carousel-button{padding:8px 16px;background:transparent;color:#ef4444;border:1px solid #ef4444;border-radius:6px;font-size:.9rem;font-weight:500;cursor:pointer;transition:all .2s ease;white-space:nowrap}.clear-all-carousel-button:hover{background:#ef4444;color:#fff;transform:translateY(-1px)}.sold-out-toggle-button{padding:8px 16px;background:transparent;color:#6b7280;border:1px solid #9ca3af;border-radius:6px;font-size:.9rem;font-weight:500;cursor:pointer;transition:all .2s ease;white-space:nowrap}.sold-out-toggle-button:hover{background:#f3f4f6;border-color:#6b7280;transform:translateY(-1px)}.sold-out-toggle-button.active{background:#f3f4f6;border-color:#6b7280;color:#374151}.sold-out-separator{display:flex;align-items:center;gap:12px;padding:8px 20px;margin:4px 0}.sold-out-separator:before,.sold-out-separator:after{content:"";flex:1;height:1px;background:#e5e7eb}.sold-out-separator-label{font-size:.75rem;font-weight:600;color:#9ca3af;text-transform:uppercase;letter-spacing:.5px;white-space:nowrap}.hotel-carousel{display:grid;grid-template-columns:1fr;gap:20px;padding:20px;max-height:none}.hotel-carousel .hotel-card{width:100%;max-width:100%;min-width:0}.carousel-arrow{display:none}.carousel-arrow:hover{background:var(--hover-bg);box-shadow:var(--shadow-md);transform:translateY(-50%) scale(1.05)}.carousel-arrow:active{transform:translateY(-50%) scale(.95)}.carousel-arrow-left{left:16px}.carousel-arrow-right{right:16px}@keyframes fadeIn{0%{opacity:0;transform:translateY(-50%) scale(.8)}to{opacity:1;transform:translateY(-50%) scale(1)}}.view-more-card{width:100%;height:auto;min-height:120px}.view-more-button{width:100%;height:100%;min-height:120px;background:var(--accent-primary);border:none;border-radius:12px;cursor:pointer;transition:all .3s ease;box-shadow:var(--shadow-md);display:flex;align-items:center;justify-content:center;padding:20px}.view-more-button:hover{transform:translateY(-2px);box-shadow:var(--shadow-lg);background:var(--accent-hover)}.view-more-button:active{transform:translateY(0)}.view-more-content{display:flex;flex-direction:column;align-items:center;text-align:center;color:#fff}.view-more-icon{font-size:2.5rem;margin-bottom:12px}.view-more-text{display:flex;flex-direction:column;gap:4px}.view-more-title{font-size:1.1rem;font-weight:600;margin:0}.view-more-subtitle{font-size:.9rem;opacity:.9;margin:0}.map-toggle-bar{display:flex;align-items:center;gap:8px;width:calc(100% - 40px);margin:0 20px;padding:10px 16px;background:#e8f0fe;border:1px solid #c2d7f7;border-radius:8px;cursor:pointer;transition:background .15s,box-shadow .15s;font-size:14px;color:#1a73e8;font-weight:500}.map-toggle-bar:hover{background:#d2e3fc;box-shadow:0 2px 6px #1a73e826}.map-toggle-icon{display:flex;align-items:center;flex-shrink:0}.map-toggle-icon svg{stroke:#1a73e8}.map-toggle-text{font-weight:600}.map-toggle-location{color:#5f6368;font-weight:400}.map-link-bottom{display:flex;align-items:center;justify-content:center;gap:6px;width:100%;padding:12px;background:transparent;border:1px dashed var(--border-color);border-radius:8px;cursor:pointer;color:var(--text-secondary);font-size:13px;font-weight:500;transition:color .15s,border-color .15s}.map-link-bottom:hover{color:#1a73e8;border-color:#1a73e8}.map-link-bottom svg{flex-shrink:0}@media(max-width:767px){.hotel-carousel{padding:15px;gap:12px}.hotel-carousel-header{padding:15px}.view-more-card,.view-more-button{min-height:100px}.view-more-icon{font-size:2rem;margin-bottom:8px}.view-more-title{font-size:1rem}.view-more-subtitle{font-size:.8rem}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}*{margin:0;padding:0;box-sizing:border-box}.cold-start-container{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;line-height:1.5;color:var(--text-primary);background:var(--accent-primary);padding:15px;font-size:15px;max-width:1100px;margin:0 auto;border-radius:12px;overflow:hidden;box-shadow:var(--shadow-lg);background-color:var(--card-bg)}.search-header{background:var(--bg-secondary);padding:20px 30px;border-bottom:2px solid var(--accent-primary)}.search-row{display:flex;flex-wrap:wrap;gap:20px;align-items:center;margin-bottom:12px}.search-item{display:flex;align-items:center;gap:8px;font-size:14px}.search-item strong{color:var(--accent-primary);font-weight:600}.search-value{background:var(--input-bg);padding:6px 12px;border-radius:6px;border:1px solid var(--border-color);color:var(--text-primary)}.filter-pills{display:flex;flex-wrap:wrap;gap:8px}.pill{background:var(--accent-primary);color:#fff;padding:6px 14px;border-radius:20px;font-size:13px;font-weight:500}.main-content{display:grid;grid-template-columns:1fr 280px;gap:0}.areas-list{padding:25px;background:var(--bg-primary)}.sidebar{background:var(--bg-secondary);padding:25px 18px;border-left:2px solid var(--border-hover)}.page-title{font-size:30px;font-weight:700;color:var(--accent-primary);margin-bottom:12px;line-height:1.2}.subtitle{color:var(--text-secondary);margin-bottom:20px;font-size:15px;line-height:1.5}.area-block{margin-bottom:30px;padding-bottom:30px;border-bottom:2px solid var(--border-hover)}.area-block:last-child{border-bottom:none}.area-header{display:flex;align-items:center;gap:12px;margin-bottom:10px}.district-content-grid{display:grid;grid-template-columns:1fr 240px;gap:20px;margin-bottom:15px}.district-info-left{flex:1}.district-info-right{display:flex;flex-direction:column;align-items:center}.area-rank{font-size:28px;font-weight:700;color:var(--accent-primary);min-width:35px}.area-name{font-size:24px;font-weight:700;color:var(--text-primary);flex:1;line-height:1.3}.area-tags{color:var(--text-secondary);font-size:15px}.district-photo-container{display:flex;flex-direction:column;align-items:flex-end;gap:4px}.district-photo{width:100%;max-width:240px;height:auto;aspect-ratio:3 / 2;object-fit:cover;border-radius:8px;box-shadow:0 2px 8px #00000026;transition:transform .2s ease,box-shadow .2s ease}.district-photo:hover{transform:scale(1.02);box-shadow:0 4px 12px #00000040}.photo-credit{font-size:10px;color:var(--text-muted);text-align:right}.photo-credit a{color:var(--accent-primary);text-decoration:none;font-weight:500}.photo-credit a:hover{text-decoration:underline}.district-tags{display:flex;flex-wrap:wrap;gap:4px;margin-left:auto;align-items:center}.district-tag{display:inline-block;padding:3px 8px;background:linear-gradient(135deg,var(--accent-primary) 0%,var(--accent-hover) 100%);color:#fff;border-radius:10px;font-size:10px;font-weight:600;text-transform:lowercase;letter-spacing:.3px;box-shadow:0 1px 2px #0000001a;transition:all .2s ease;white-space:nowrap}.district-tag:hover{transform:translateY(-1px);box-shadow:0 2px 4px #00000026}.district-tag:first-letter{text-transform:uppercase}.area-stats{display:flex;gap:10px;margin:10px 0 12px 50px;flex-wrap:wrap}.stat-badge{display:inline-flex;align-items:center;gap:.25rem;padding:6px 12px;border-radius:6px;background-color:var(--bg-tertiary);font-size:13px;color:var(--text-primary);font-weight:600;border:1px solid var(--border-color)}.highlights{margin:8px 0 8px 50px;color:var(--text-secondary);font-size:14px;line-height:1.5}.family-summary{margin:8px 0 12px 50px;color:var(--text-secondary);font-style:italic;font-size:14px;line-height:1.6}.video-links{margin:10px 0 15px 50px;display:flex;gap:8px}.video-link{padding:6px 12px;background:#ffebee;color:#c62828;text-decoration:none;border-radius:4px;font-size:12px;font-weight:500;transition:all .2s}.video-link:hover{background:#c62828;color:#fff}.hotels-list{margin-left:50px}.hotel-item-vertical{display:flex;flex-direction:column;padding:16px;margin-bottom:16px;background:var(--bg-secondary);border-left:4px solid var(--accent-primary);border-radius:8px;box-shadow:0 2px 4px #0000000d;transition:all .2s ease}.hotel-item-vertical:hover{box-shadow:0 4px 8px #0000001a;transform:translateY(-2px)}.hotel-img-vertical{width:100%;height:180px;border-radius:8px;object-fit:cover;margin-bottom:12px}.hotel-info-vertical{display:flex;flex-direction:column;gap:10px}.hotel-header-vertical{display:flex;flex-direction:column;gap:8px}.hotel-name-rating-row{display:flex;align-items:center;justify-content:space-between;gap:10px}.hotel-name{font-size:16px;font-weight:600;color:var(--text-primary);line-height:1.3;flex:1}.hotel-rating{display:flex;align-items:center;gap:3px;color:#fbbf24;font-weight:700;font-size:14px;white-space:nowrap}.hotel-price-vertical{font-size:20px;font-weight:700;color:var(--accent-primary);display:flex;align-items:baseline;gap:4px}.hotel-vibe-vertical{display:flex;align-items:flex-start;gap:10px;padding:12px;background:linear-gradient(135deg,#6366f114,#8b5cf614);border-radius:8px;border-left:3px solid var(--accent-primary);transition:all .2s ease;min-height:60px}.hotel-vibe-vertical:hover{background:linear-gradient(135deg,#6366f11f,#8b5cf61f)}.vibe-icon{font-size:18px;flex-shrink:0;margin-top:2px;filter:drop-shadow(0 1px 2px rgba(0,0,0,.1))}.vibe-text{font-size:14px;color:var(--text-secondary);line-height:1.6;font-style:italic;flex:1;font-weight:500}.book-btn-vertical{width:100%;padding:12px 20px;background:var(--accent-primary);color:#fff;border:none;border-radius:6px;font-weight:600;cursor:pointer;transition:all .2s;font-size:15px;margin-top:4px}.book-btn-vertical:hover{background:var(--accent-hover);transform:translateY(-1px);box-shadow:0 2px 6px #00000026}.hotel-item{display:grid;grid-template-columns:120px 1fr auto;gap:16px;padding:14px;margin-bottom:12px;background:var(--bg-secondary);border-left:4px solid var(--accent-primary);border-radius:8px;align-items:center}.hotel-img{width:120px;height:120px;border-radius:8px;object-fit:cover}.hotel-info{flex:1}.hotel-name-row{display:flex;align-items:center;gap:10px;margin-bottom:5px}.hotel-price{font-size:18px;font-weight:700;color:var(--accent-primary);margin-bottom:6px}.hotel-insight{display:flex;align-items:flex-start;gap:8px;margin-top:4px;padding:8px 10px;background:linear-gradient(135deg,#6366f10d,#8b5cf60d);border-radius:8px;border-left:3px solid var(--accent-primary);transition:all .2s ease}.hotel-insight:hover{background:linear-gradient(135deg,#6366f11a,#8b5cf61a);transform:translate(2px)}.insight-icon{font-size:16px;flex-shrink:0;margin-top:1px;filter:drop-shadow(0 1px 2px rgba(0,0,0,.1))}.insight-text{font-size:13px;color:var(--text-secondary);line-height:1.6;font-style:italic;flex:1}.hotel-insight strong{color:var(--accent-primary)}.area-actions{margin:12px 0 0 50px;display:flex;gap:10px}.action-btn{padding:7px 14px;border:1px solid var(--accent-primary);background:var(--card-bg);color:var(--accent-primary);border-radius:5px;font-size:13px;font-weight:500;cursor:pointer;transition:all .2s}.action-btn:hover{background:var(--accent-primary);color:#fff}.mini-map{background:var(--card-bg);padding:15px;border-radius:8px;margin-bottom:15px;box-shadow:var(--shadow-sm)}.mini-map-title{font-weight:700;margin-bottom:10px;color:var(--text-primary);font-size:15px}.map-item{padding:6px 0;font-size:13px;display:flex;align-items:center;gap:8px;cursor:pointer;transition:color .2s;color:var(--text-secondary)}.map-item:hover{color:var(--accent-primary)}.map-item.active{color:var(--accent-primary);font-weight:600}.compare-table{background:var(--card-bg);padding:15px;border-radius:8px;margin-bottom:15px;box-shadow:var(--shadow-sm)}.compare-title{font-weight:700;margin-bottom:12px;color:var(--text-primary);font-size:15px}.district-card{background:var(--bg-secondary);border:2px solid var(--border-hover);border-radius:6px;padding:10px;margin-bottom:8px}.district-card:last-child{margin-bottom:0}.district-name{font-weight:700;color:var(--accent-primary);font-size:13px;margin-bottom:6px}.district-metrics{display:flex;flex-wrap:wrap;gap:6px;font-size:11px;margin-bottom:6px}.metric-item{display:flex;align-items:center;gap:3px;color:var(--text-primary)}.metric-label{color:var(--text-muted)}.metric-value{font-weight:600;color:var(--text-primary)}.district-vibe{font-size:11px;display:flex;align-items:center;gap:3px}.district-vibe .metric-label{color:var(--text-muted)}.district-vibe .metric-value{font-weight:600;color:var(--text-primary)}.hotel-actions-column{display:flex;flex-direction:column;align-items:flex-end;gap:8px}.hotel-buttons{display:flex;gap:8px;align-items:center}.book-btn{padding:8px 18px;background:var(--accent-primary);color:#fff;border:none;border-radius:5px;font-weight:600;cursor:pointer;transition:all .2s;font-size:14px}.book-btn:hover{background:var(--accent-hover);transform:translateY(-1px)}.save-hotel-btn{padding:8px;background:var(--bg-secondary);color:#9ca3af;border:1px solid var(--border-color);border-radius:5px;cursor:pointer;transition:all .2s;display:flex;align-items:center;justify-content:center}.save-hotel-btn:hover{background:var(--bg-tertiary);border-color:var(--accent-primary);color:var(--accent-primary);transform:translateY(-1px)}.save-hotel-btn.saved{background:#3b82f61a;color:#3b82f6;border-color:#3b82f6}.hotel-knowledge-inline{margin-top:6px;display:flex;flex-direction:column;gap:6px}.knowledge-inline-item{display:flex;align-items:flex-start;gap:6px;padding:6px 8px;background:var(--bg-tertiary);border-radius:6px;font-size:12px;line-height:1.5}.knowledge-inline-title{font-weight:700;color:var(--accent-primary);white-space:nowrap;flex-shrink:0}.knowledge-inline-text{color:var(--text-secondary);flex:1}.hotel-aspects-inline{margin-top:8px;display:flex;flex-direction:row;flex-wrap:wrap;gap:6px;padding:3px;background:var(--bg-tertiary);border-radius:6px;border:1px solid var(--border-color)}.aspect-item{display:flex;align-items:center;gap:6px;position:relative;padding:4px 0}.aspect-icon{font-size:1.3rem;font-weight:400;flex-shrink:0;width:18px;text-align:center}.aspect-icon.good{color:#10b981}.aspect-icon.poor{color:#ef4444}.aspect-icon.warning{color:#f59e0b}.aspect-label-button{flex:1;font-size:.8rem;color:var(--text-primary);font-weight:400;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:none;border:none;cursor:pointer;padding:3px 6px;border-radius:4px;text-align:left;transition:all .2s ease;position:relative}.aspect-label-button:hover{background:var(--bg-secondary);color:var(--accent-primary)}.aspect-label-button:active{transform:scale(.98)}.aspect-tooltip{position:absolute;bottom:100%;left:-50%;right:-50%;margin-bottom:8px;padding:14px 16px;background:#fff;border:1px solid var(--border-color);border-radius:10px;box-shadow:0 6px 20px #0003;z-index:10000;min-width:350px;max-width:500px}.tooltip-content{font-size:13px;line-height:1.7;color:var(--text-secondary);overflow-wrap:break-word;word-wrap:break-word;white-space:normal}@media(max-width:768px){.main-content{grid-template-columns:1fr}.sidebar{border-left:none;border-top:1px solid #e0e0e0}.hotel-item{display:grid;grid-template-columns:120px 1fr auto;gap:16px;padding:14px;margin-bottom:12px;background:var(--bg-secondary);border-left:4px solid var(--accent-primary);border-radius:8px;align-items:center}.district-content-grid{grid-template-columns:1fr;gap:15px}.district-info-right{align-items:center}.district-photo{width:100%;max-width:100%}.photo-credit{text-align:center}}.intro-page{display:flex;flex-direction:column;align-items:center;gap:32px;padding:32px 24px 40px;width:100%;box-sizing:border-box;animation:introFadeIn .4s ease-out}@keyframes introFadeIn{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.intro-hero{display:flex;flex-direction:column;align-items:center;text-align:center;gap:8px;max-width:560px}.intro-hero-icon{font-size:48px;line-height:1;margin-bottom:4px}.intro-title{margin:0;font-size:2rem;font-weight:700;color:var(--text-primary);letter-spacing:-.5px}.intro-tagline{margin:0;font-size:1.05rem;font-weight:600;color:var(--accent-primary)}.intro-subtitle{margin:8px 0 0;font-size:.95rem;line-height:1.6;color:var(--text-secondary)}.intro-features{display:flex;gap:16px;width:100%;max-width:860px;flex-wrap:wrap;justify-content:center}.intro-feature-card{flex:1 1 220px;max-width:280px;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:12px;padding:20px;box-shadow:var(--shadow-sm);transition:box-shadow .2s ease,transform .2s ease}.intro-feature-card:hover{box-shadow:var(--shadow-md);transform:translateY(-3px)}.intro-feature-icon{font-size:28px;line-height:1;margin-bottom:10px}.intro-feature-title{margin:0 0 6px;font-size:.95rem;font-weight:600;color:var(--text-primary)}.intro-feature-desc{margin:0;font-size:.85rem;line-height:1.55;color:var(--text-secondary)}.intro-queries-section{width:100%;max-width:860px;display:flex;flex-direction:column;gap:12px}.intro-queries-label{margin:0;font-size:.8rem;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.06em}.intro-queries-grid{display:flex;flex-wrap:wrap;gap:10px}.intro-query-chip{background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:16px;padding:8px 16px;font-size:.85rem;font-weight:500;color:var(--accent-primary);cursor:pointer;transition:background .15s ease,color .15s ease,border-color .15s ease,transform .15s ease;font-family:inherit;text-align:left;line-height:1.4}.intro-query-chip:hover{background:var(--accent-primary);color:#fff;border-color:var(--accent-primary);transform:translateY(-1px)}.intro-query-chip:active{transform:translateY(0)}.recommendation-panel{grid-area:recommendation;background:var(--bg-primary);overflow:hidden;display:flex;flex-direction:column;position:relative}.trip-summary-bar{display:flex;align-items:center;background-color:var(--bg-secondary);padding:12px 24px;margin-bottom:16px;border-radius:12px;gap:24px;flex-shrink:0}.summary-item{display:flex;align-items:center;gap:12px}.summary-icon{font-size:1.2rem}.summary-details{display:flex;flex-direction:column}.summary-label{font-size:.75rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px}.summary-value{font-size:.95rem;font-weight:600;color:var(--text-primary)}.summary-divider{width:1px;height:32px;background-color:var(--border-color)}.recent-chats-bar{display:flex;align-items:center;margin-bottom:24px;gap:12px;overflow-x:auto;flex-shrink:0}.chat-step{font-size:.75rem;color:var(--text-muted);cursor:pointer;white-space:nowrap;padding:4px 8px;border-radius:6px;transition:all .2s ease}.chat-step:hover{background-color:var(--bg-secondary);color:var(--text-primary)}.chat-step.active{color:var(--accent-primary);font-weight:600;background-color:rgba(var(--accent-primary-rgb),.1)}.step-separator{color:var(--text-muted);font-size:1.2rem;font-weight:300}.recommendation-content{flex:1;overflow-y:auto;padding:24px}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;color:var(--text-muted);text-align:center}.empty-icon{font-size:48px;margin-bottom:16px;opacity:.5}.empty-state h3{margin:0 0 8px;color:var(--text-primary)}.empty-state p{margin:0;max-width:300px}.recommendations-display{display:flex;flex-direction:column;gap:24px;padding-bottom:24px}.recommendation-item{animation:fadeIn .3s ease-out}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.react-datepicker__navigation-icon:before,.react-datepicker__year-read-view--down-arrow,.react-datepicker__month-read-view--down-arrow,.react-datepicker__month-year-read-view--down-arrow{border-color:#ccc;border-style:solid;border-width:3px 3px 0 0;content:"";display:block;height:9px;position:absolute;top:6px;width:9px}.react-datepicker__sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}.react-datepicker-wrapper{display:inline-block;padding:0;border:0}.react-datepicker{font-family:Helvetica Neue,helvetica,arial,sans-serif;font-size:.8rem;background-color:#fff;color:#000;border:1px solid #aeaeae;border-radius:.3rem;display:inline-block;position:relative;line-height:initial}.react-datepicker--time-only .react-datepicker__time-container{border-left:0}.react-datepicker--time-only .react-datepicker__time,.react-datepicker--time-only .react-datepicker__time-box{border-bottom-left-radius:.3rem;border-bottom-right-radius:.3rem}.react-datepicker-popper{z-index:1;line-height:0}.react-datepicker-popper .react-datepicker__triangle{stroke:#aeaeae}.react-datepicker-popper[data-placement^=bottom] .react-datepicker__triangle{fill:#f0f0f0;color:#f0f0f0}.react-datepicker-popper[data-placement^=top] .react-datepicker__triangle{fill:#fff;color:#fff}.react-datepicker__header{text-align:center;background-color:#f0f0f0;border-bottom:1px solid #aeaeae;border-top-left-radius:.3rem;padding:8px 0;position:relative}.react-datepicker__header--time{padding-bottom:8px;padding-left:5px;padding-right:5px}.react-datepicker__header--time:not(.react-datepicker__header--time--only){border-top-left-radius:0}.react-datepicker__header:not(.react-datepicker__header--has-time-select){border-top-right-radius:.3rem}.react-datepicker__year-dropdown-container--select,.react-datepicker__month-dropdown-container--select,.react-datepicker__month-year-dropdown-container--select,.react-datepicker__year-dropdown-container--scroll,.react-datepicker__month-dropdown-container--scroll,.react-datepicker__month-year-dropdown-container--scroll{display:inline-block;margin:0 15px}.react-datepicker__current-month,.react-datepicker-time__header,.react-datepicker-year-header{margin-top:0;color:#000;font-weight:700;font-size:.944rem}h2.react-datepicker__current-month{padding:0;margin:0}.react-datepicker-time__header{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.react-datepicker__navigation{align-items:center;background:none;display:flex;justify-content:center;text-align:center;cursor:pointer;position:absolute;top:2px;padding:0;border:none;z-index:1;height:32px;width:32px;text-indent:-999em;overflow:hidden}.react-datepicker__navigation--previous{left:2px}.react-datepicker__navigation--next{right:2px}.react-datepicker__navigation--next--with-time:not(.react-datepicker__navigation--next--with-today-button){right:85px}.react-datepicker__navigation--years{position:relative;top:0;display:block;margin-left:auto;margin-right:auto}.react-datepicker__navigation--years-previous{top:4px}.react-datepicker__navigation--years-upcoming{top:-4px}.react-datepicker__navigation:hover *:before{border-color:#a6a6a6}.react-datepicker__navigation-icon{position:relative;top:-1px;font-size:20px;width:0}.react-datepicker__navigation-icon--next{left:-2px}.react-datepicker__navigation-icon--next:before{transform:rotate(45deg);left:-7px}.react-datepicker__navigation-icon--previous{right:-2px}.react-datepicker__navigation-icon--previous:before{transform:rotate(225deg);right:-7px}.react-datepicker__month-container{float:left}.react-datepicker__year{margin:.4rem;text-align:center}.react-datepicker__year-wrapper{display:flex;flex-wrap:wrap;max-width:180px}.react-datepicker__year .react-datepicker__year-text{display:inline-block;width:4rem;margin:2px}.react-datepicker__month{margin:.4rem;text-align:center}.react-datepicker__month .react-datepicker__month-text,.react-datepicker__month .react-datepicker__quarter-text{display:inline-block;width:4rem;margin:2px}.react-datepicker__input-time-container{clear:both;width:100%;float:left;margin:5px 0 10px 15px;text-align:left}.react-datepicker__input-time-container .react-datepicker-time__caption,.react-datepicker__input-time-container .react-datepicker-time__input-container{display:inline-block}.react-datepicker__input-time-container .react-datepicker-time__input-container .react-datepicker-time__input{display:inline-block;margin-left:10px}.react-datepicker__input-time-container .react-datepicker-time__input-container .react-datepicker-time__input input{width:auto}.react-datepicker__input-time-container .react-datepicker-time__input-container .react-datepicker-time__input input[type=time]::-webkit-inner-spin-button,.react-datepicker__input-time-container .react-datepicker-time__input-container .react-datepicker-time__input input[type=time]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.react-datepicker__input-time-container .react-datepicker-time__input-container .react-datepicker-time__input input[type=time]{-moz-appearance:textfield}.react-datepicker__input-time-container .react-datepicker-time__input-container .react-datepicker-time__delimiter{margin-left:5px;display:inline-block}.react-datepicker__time-container{float:right;border-left:1px solid #aeaeae;width:85px}.react-datepicker__time-container--with-today-button{display:inline;border:1px solid #aeaeae;border-radius:.3rem;position:absolute;right:-87px;top:0}.react-datepicker__time-container .react-datepicker__time{position:relative;background:#fff;border-bottom-right-radius:.3rem}.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box{width:85px;overflow-x:hidden;margin:0 auto;text-align:center;border-bottom-right-radius:.3rem}.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box ul.react-datepicker__time-list{list-style:none;margin:0;height:calc(195px + .85rem);overflow-y:scroll;padding-right:0;padding-left:0;width:100%;box-sizing:content-box}.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box ul.react-datepicker__time-list li.react-datepicker__time-list-item{height:30px;padding:5px 10px;white-space:nowrap}.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box ul.react-datepicker__time-list li.react-datepicker__time-list-item:hover{cursor:pointer;background-color:#f0f0f0}.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box ul.react-datepicker__time-list li.react-datepicker__time-list-item--selected{background-color:#216ba5;color:#fff;font-weight:700}.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box ul.react-datepicker__time-list li.react-datepicker__time-list-item--selected:hover{background-color:#216ba5}.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box ul.react-datepicker__time-list li.react-datepicker__time-list-item--disabled{color:#ccc}.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box ul.react-datepicker__time-list li.react-datepicker__time-list-item--disabled:hover{cursor:default;background-color:transparent}.react-datepicker__week-number{color:#ccc;display:inline-block;width:1.7rem;line-height:1.7rem;text-align:center;margin:.166rem}.react-datepicker__week-number.react-datepicker__week-number--clickable{cursor:pointer}.react-datepicker__week-number.react-datepicker__week-number--clickable:not(.react-datepicker__week-number--selected):hover{border-radius:.3rem;background-color:#f0f0f0}.react-datepicker__week-number--selected{border-radius:.3rem;background-color:#216ba5;color:#fff}.react-datepicker__week-number--selected:hover{background-color:#1d5d90}.react-datepicker__day-names{text-align:center;white-space:nowrap;margin-bottom:-8px}.react-datepicker__week{white-space:nowrap}.react-datepicker__day-name,.react-datepicker__day,.react-datepicker__time-name{color:#000;display:inline-block;width:1.7rem;line-height:1.7rem;text-align:center;margin:.166rem}.react-datepicker__day-name--disabled,.react-datepicker__day--disabled,.react-datepicker__time-name--disabled{cursor:default;color:#ccc}.react-datepicker__day,.react-datepicker__month-text,.react-datepicker__quarter-text,.react-datepicker__year-text{cursor:pointer}.react-datepicker__day:not([aria-disabled=true]):hover,.react-datepicker__month-text:not([aria-disabled=true]):hover,.react-datepicker__quarter-text:not([aria-disabled=true]):hover,.react-datepicker__year-text:not([aria-disabled=true]):hover{border-radius:.3rem;background-color:#f0f0f0}.react-datepicker__day--today,.react-datepicker__month-text--today,.react-datepicker__quarter-text--today,.react-datepicker__year-text--today{font-weight:700}.react-datepicker__day--highlighted,.react-datepicker__month-text--highlighted,.react-datepicker__quarter-text--highlighted,.react-datepicker__year-text--highlighted{border-radius:.3rem;background-color:#3dcc4a;color:#fff}.react-datepicker__day--highlighted:not([aria-disabled=true]):hover,.react-datepicker__month-text--highlighted:not([aria-disabled=true]):hover,.react-datepicker__quarter-text--highlighted:not([aria-disabled=true]):hover,.react-datepicker__year-text--highlighted:not([aria-disabled=true]):hover{background-color:#32be3f}.react-datepicker__day--highlighted-custom-1,.react-datepicker__month-text--highlighted-custom-1,.react-datepicker__quarter-text--highlighted-custom-1,.react-datepicker__year-text--highlighted-custom-1{color:#f0f}.react-datepicker__day--highlighted-custom-2,.react-datepicker__month-text--highlighted-custom-2,.react-datepicker__quarter-text--highlighted-custom-2,.react-datepicker__year-text--highlighted-custom-2{color:green}.react-datepicker__day--holidays,.react-datepicker__month-text--holidays,.react-datepicker__quarter-text--holidays,.react-datepicker__year-text--holidays{position:relative;border-radius:.3rem;background-color:#ff6803;color:#fff}.react-datepicker__day--holidays .overlay,.react-datepicker__month-text--holidays .overlay,.react-datepicker__quarter-text--holidays .overlay,.react-datepicker__year-text--holidays .overlay{position:absolute;bottom:100%;left:50%;transform:translate(-50%);background-color:#333;color:#fff;padding:4px;border-radius:4px;white-space:nowrap;visibility:hidden;opacity:0;transition:visibility 0s,opacity .3s ease-in-out}.react-datepicker__day--holidays:not([aria-disabled=true]):hover,.react-datepicker__month-text--holidays:not([aria-disabled=true]):hover,.react-datepicker__quarter-text--holidays:not([aria-disabled=true]):hover,.react-datepicker__year-text--holidays:not([aria-disabled=true]):hover{background-color:#cf5300}.react-datepicker__day--holidays:hover .overlay,.react-datepicker__month-text--holidays:hover .overlay,.react-datepicker__quarter-text--holidays:hover .overlay,.react-datepicker__year-text--holidays:hover .overlay{visibility:visible;opacity:1}.react-datepicker__day--selected,.react-datepicker__day--in-selecting-range,.react-datepicker__day--in-range,.react-datepicker__month-text--selected,.react-datepicker__month-text--in-selecting-range,.react-datepicker__month-text--in-range,.react-datepicker__quarter-text--selected,.react-datepicker__quarter-text--in-selecting-range,.react-datepicker__quarter-text--in-range,.react-datepicker__year-text--selected,.react-datepicker__year-text--in-selecting-range,.react-datepicker__year-text--in-range{border-radius:.3rem;background-color:#216ba5;color:#fff}.react-datepicker__day--selected:not([aria-disabled=true]):hover,.react-datepicker__day--in-selecting-range:not([aria-disabled=true]):hover,.react-datepicker__day--in-range:not([aria-disabled=true]):hover,.react-datepicker__month-text--selected:not([aria-disabled=true]):hover,.react-datepicker__month-text--in-selecting-range:not([aria-disabled=true]):hover,.react-datepicker__month-text--in-range:not([aria-disabled=true]):hover,.react-datepicker__quarter-text--selected:not([aria-disabled=true]):hover,.react-datepicker__quarter-text--in-selecting-range:not([aria-disabled=true]):hover,.react-datepicker__quarter-text--in-range:not([aria-disabled=true]):hover,.react-datepicker__year-text--selected:not([aria-disabled=true]):hover,.react-datepicker__year-text--in-selecting-range:not([aria-disabled=true]):hover,.react-datepicker__year-text--in-range:not([aria-disabled=true]):hover{background-color:#1d5d90}.react-datepicker__day--keyboard-selected,.react-datepicker__month-text--keyboard-selected,.react-datepicker__quarter-text--keyboard-selected,.react-datepicker__year-text--keyboard-selected{border-radius:.3rem;background-color:#bad9f1;color:#000}.react-datepicker__day--keyboard-selected:not([aria-disabled=true]):hover,.react-datepicker__month-text--keyboard-selected:not([aria-disabled=true]):hover,.react-datepicker__quarter-text--keyboard-selected:not([aria-disabled=true]):hover,.react-datepicker__year-text--keyboard-selected:not([aria-disabled=true]):hover{background-color:#1d5d90;color:#fff}.react-datepicker__day--in-selecting-range:not(.react-datepicker__day--in-range,.react-datepicker__month-text--in-range,.react-datepicker__quarter-text--in-range,.react-datepicker__year-text--in-range),.react-datepicker__month-text--in-selecting-range:not(.react-datepicker__day--in-range,.react-datepicker__month-text--in-range,.react-datepicker__quarter-text--in-range,.react-datepicker__year-text--in-range),.react-datepicker__quarter-text--in-selecting-range:not(.react-datepicker__day--in-range,.react-datepicker__month-text--in-range,.react-datepicker__quarter-text--in-range,.react-datepicker__year-text--in-range),.react-datepicker__year-text--in-selecting-range:not(.react-datepicker__day--in-range,.react-datepicker__month-text--in-range,.react-datepicker__quarter-text--in-range,.react-datepicker__year-text--in-range){background-color:#216ba580}.react-datepicker__month--selecting-range .react-datepicker__day--in-range:not(.react-datepicker__day--in-selecting-range,.react-datepicker__month-text--in-selecting-range,.react-datepicker__quarter-text--in-selecting-range,.react-datepicker__year-text--in-selecting-range),.react-datepicker__year--selecting-range .react-datepicker__day--in-range:not(.react-datepicker__day--in-selecting-range,.react-datepicker__month-text--in-selecting-range,.react-datepicker__quarter-text--in-selecting-range,.react-datepicker__year-text--in-selecting-range),.react-datepicker__month--selecting-range .react-datepicker__month-text--in-range:not(.react-datepicker__day--in-selecting-range,.react-datepicker__month-text--in-selecting-range,.react-datepicker__quarter-text--in-selecting-range,.react-datepicker__year-text--in-selecting-range),.react-datepicker__year--selecting-range .react-datepicker__month-text--in-range:not(.react-datepicker__day--in-selecting-range,.react-datepicker__month-text--in-selecting-range,.react-datepicker__quarter-text--in-selecting-range,.react-datepicker__year-text--in-selecting-range),.react-datepicker__month--selecting-range .react-datepicker__quarter-text--in-range:not(.react-datepicker__day--in-selecting-range,.react-datepicker__month-text--in-selecting-range,.react-datepicker__quarter-text--in-selecting-range,.react-datepicker__year-text--in-selecting-range),.react-datepicker__year--selecting-range .react-datepicker__quarter-text--in-range:not(.react-datepicker__day--in-selecting-range,.react-datepicker__month-text--in-selecting-range,.react-datepicker__quarter-text--in-selecting-range,.react-datepicker__year-text--in-selecting-range),.react-datepicker__month--selecting-range .react-datepicker__year-text--in-range:not(.react-datepicker__day--in-selecting-range,.react-datepicker__month-text--in-selecting-range,.react-datepicker__quarter-text--in-selecting-range,.react-datepicker__year-text--in-selecting-range),.react-datepicker__year--selecting-range .react-datepicker__year-text--in-range:not(.react-datepicker__day--in-selecting-range,.react-datepicker__month-text--in-selecting-range,.react-datepicker__quarter-text--in-selecting-range,.react-datepicker__year-text--in-selecting-range){background-color:#f0f0f0;color:#000}.react-datepicker__day--disabled,.react-datepicker__month-text--disabled,.react-datepicker__quarter-text--disabled,.react-datepicker__year-text--disabled{cursor:default;color:#ccc}.react-datepicker__day--disabled .overlay,.react-datepicker__month-text--disabled .overlay,.react-datepicker__quarter-text--disabled .overlay,.react-datepicker__year-text--disabled .overlay{position:absolute;bottom:70%;left:50%;transform:translate(-50%);background-color:#333;color:#fff;padding:4px;border-radius:4px;white-space:nowrap;visibility:hidden;opacity:0;transition:visibility 0s,opacity .3s ease-in-out}.react-datepicker__input-container{position:relative;display:inline-block;width:100%}.react-datepicker__input-container .react-datepicker__calendar-icon{position:absolute;padding:.5rem;box-sizing:content-box}.react-datepicker__view-calendar-icon input{padding:6px 10px 5px 25px}.react-datepicker__year-read-view,.react-datepicker__month-read-view,.react-datepicker__month-year-read-view{border:1px solid transparent;border-radius:.3rem;position:relative}.react-datepicker__year-read-view:hover,.react-datepicker__month-read-view:hover,.react-datepicker__month-year-read-view:hover{cursor:pointer}.react-datepicker__year-read-view:hover .react-datepicker__year-read-view--down-arrow,.react-datepicker__year-read-view:hover .react-datepicker__month-read-view--down-arrow,.react-datepicker__month-read-view:hover .react-datepicker__year-read-view--down-arrow,.react-datepicker__month-read-view:hover .react-datepicker__month-read-view--down-arrow,.react-datepicker__month-year-read-view:hover .react-datepicker__year-read-view--down-arrow,.react-datepicker__month-year-read-view:hover .react-datepicker__month-read-view--down-arrow{border-top-color:#b3b3b3}.react-datepicker__year-read-view--down-arrow,.react-datepicker__month-read-view--down-arrow,.react-datepicker__month-year-read-view--down-arrow{transform:rotate(135deg);right:-16px;top:0}.react-datepicker__year-dropdown,.react-datepicker__month-dropdown,.react-datepicker__month-year-dropdown{background-color:#f0f0f0;position:absolute;width:50%;left:25%;top:30px;z-index:1;text-align:center;border-radius:.3rem;border:1px solid #aeaeae}.react-datepicker__year-dropdown:hover,.react-datepicker__month-dropdown:hover,.react-datepicker__month-year-dropdown:hover{cursor:pointer}.react-datepicker__year-dropdown--scrollable,.react-datepicker__month-dropdown--scrollable,.react-datepicker__month-year-dropdown--scrollable{height:150px;overflow-y:scroll}.react-datepicker__year-option,.react-datepicker__month-option,.react-datepicker__month-year-option{line-height:20px;width:100%;display:block;margin-left:auto;margin-right:auto}.react-datepicker__year-option:first-of-type,.react-datepicker__month-option:first-of-type,.react-datepicker__month-year-option:first-of-type{border-top-left-radius:.3rem;border-top-right-radius:.3rem}.react-datepicker__year-option:last-of-type,.react-datepicker__month-option:last-of-type,.react-datepicker__month-year-option:last-of-type{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;border-bottom-left-radius:.3rem;border-bottom-right-radius:.3rem}.react-datepicker__year-option:hover,.react-datepicker__month-option:hover,.react-datepicker__month-year-option:hover{background-color:#ccc}.react-datepicker__year-option:hover .react-datepicker__navigation--years-upcoming,.react-datepicker__month-option:hover .react-datepicker__navigation--years-upcoming,.react-datepicker__month-year-option:hover .react-datepicker__navigation--years-upcoming{border-bottom-color:#b3b3b3}.react-datepicker__year-option:hover .react-datepicker__navigation--years-previous,.react-datepicker__month-option:hover .react-datepicker__navigation--years-previous,.react-datepicker__month-year-option:hover .react-datepicker__navigation--years-previous{border-top-color:#b3b3b3}.react-datepicker__year-option--selected,.react-datepicker__month-option--selected,.react-datepicker__month-year-option--selected{position:absolute;left:15px}.react-datepicker__close-icon{cursor:pointer;background-color:transparent;border:0;outline:0;padding:0 6px 0 0;position:absolute;top:0;right:0;height:100%;display:table-cell;vertical-align:middle}.react-datepicker__close-icon:after{cursor:pointer;background-color:#216ba5;color:#fff;border-radius:50%;height:16px;width:16px;padding:2px;font-size:12px;line-height:1;text-align:center;display:table-cell;vertical-align:middle;content:"×"}.react-datepicker__close-icon--disabled{cursor:default}.react-datepicker__close-icon--disabled:after{cursor:default;background-color:#ccc}.react-datepicker__today-button{background:#f0f0f0;border-top:1px solid #aeaeae;cursor:pointer;text-align:center;font-weight:700;padding:5px 0;clear:left}.react-datepicker__portal{position:fixed;width:100vw;height:100vh;background-color:#000c;left:0;top:0;justify-content:center;align-items:center;display:flex;z-index:2147483647}.react-datepicker__portal .react-datepicker__day-name,.react-datepicker__portal .react-datepicker__day,.react-datepicker__portal .react-datepicker__time-name{width:3rem;line-height:3rem}@media(max-width:400px),(max-height:550px){.react-datepicker__portal .react-datepicker__day-name,.react-datepicker__portal .react-datepicker__day,.react-datepicker__portal .react-datepicker__time-name{width:2rem;line-height:2rem}}.react-datepicker__portal .react-datepicker__current-month,.react-datepicker__portal .react-datepicker-time__header{font-size:1.44rem}.react-datepicker__children-container{width:13.8rem;margin:.4rem;padding-right:.2rem;padding-left:.2rem;height:auto}.react-datepicker__aria-live{position:absolute;clip-path:circle(0);border:0;height:1px;margin:-1px;overflow:hidden;padding:0;width:1px;white-space:nowrap}.react-datepicker__calendar-icon{width:1em;height:1em;vertical-align:-.125em}.input-panel{grid-area:input;background:var(--card-bg);border-top:1px solid var(--border-color);padding:16px 24px;box-shadow:var(--shadow-lg)}.input-panel-content{max-width:1400px;margin:0 auto;padding-right:160px;display:flex;flex-direction:column;gap:12px}.filter-bar{display:flex;gap:12px;margin-bottom:8px}.filter-input{flex:1;display:flex;align-items:center;gap:8px;background:var(--input-bg);border:1px solid var(--input-border);border-radius:12px;padding:10px 14px;cursor:pointer;transition:all .2s ease}.filter-input:hover{border-color:var(--accent-primary);background:var(--bg-secondary)}.filter-input-select{flex:1;display:flex;align-items:center;gap:8px;min-width:200px}.filter-input-select .city-select-container{flex:1}.filter-icon{font-size:18px;flex-shrink:0}.filter-value{flex:1;color:var(--text-primary);font-size:.9rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.filter-chevron{color:var(--text-muted);font-size:12px;flex-shrink:0}.suggested-queries{display:flex;flex-wrap:wrap;gap:8px;padding-bottom:8px}.suggested-query-btn{background:var(--bg-tertiary);color:var(--accent-primary);border:1px solid var(--border-color);padding:6px 14px;border-radius:16px;font-size:.85rem;cursor:pointer;transition:all .2s ease;white-space:nowrap}.suggested-query-btn:hover:not(:disabled){background:var(--accent-primary);color:#fff;border-color:var(--accent-primary);transform:translateY(-1px)}.suggested-query-btn:disabled{opacity:.5;cursor:not-allowed}.compare-saved-btn{display:inline-flex;align-items:center;gap:6px}.compare-saved-btn svg{flex-shrink:0}.saved-count-badge{background:var(--accent-primary);color:#fff;padding:2px 7px;border-radius:10px;font-size:.75rem;font-weight:700;min-width:18px;text-align:center;margin-left:2px}.compare-saved-btn:hover:not(:disabled) .saved-count-badge{background:#fff;color:var(--accent-primary)}.input-container{display:flex;align-items:center;gap:12px;background:var(--input-bg);border:1px solid var(--input-border);border-radius:24px;padding:8px 12px;transition:border-color .2s ease}.input-container:focus-within{border-color:var(--accent-primary)}.chat-input{flex:1;border:none;background:transparent;font-size:.95rem;font-family:inherit;resize:none;outline:none;color:var(--text-primary);min-height:24px;max-height:120px;line-height:1.5}.chat-input::placeholder{color:var(--placeholder-color)}.chat-input:disabled{opacity:.6;cursor:not-allowed}.send-button{width:36px;height:36px;border:none;border-radius:50%;background:var(--accent-primary);color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease;flex-shrink:0}.send-button:hover:not(:disabled){background:var(--accent-hover);transform:scale(1.05)}.send-button:disabled{background:var(--border-color);cursor:not-allowed;opacity:.5}@media(max-width:768px){.input-panel{padding:12px 16px}.filter-bar{flex-wrap:wrap;gap:8px}.filter-input{flex:1 1 calc(50% - 4px);min-width:140px;padding:8px 12px}.filter-icon{font-size:16px}.filter-value{font-size:.85rem}.suggested-queries{gap:6px}.suggested-query-btn{font-size:.8rem;padding:5px 12px}.chat-input{font-size:.9rem}.send-button{width:32px;height:32px}}.date-picker-container .react-datepicker-wrapper{width:100%}.custom-datepicker{width:100%;background:transparent;border:none;color:var(--text-primary);font-size:.9rem;cursor:pointer;outline:none}.custom-datepicker::placeholder{color:var(--text-muted)}.small-input{flex:0 0 auto;min-width:100px}.number-input,.select-input{width:40px;background:transparent;border:none;color:var(--text-primary);font-size:.9rem;text-align:center;outline:none;cursor:pointer}.select-input{-webkit-appearance:none;-moz-appearance:none;appearance:none;text-align-last:center}.input-label{color:var(--text-muted);font-size:.85rem;margin-left:4px}.number-input::-webkit-inner-spin-button,.number-input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.city-select-container{flex:1}.city-select__control{background:var(--input-bg)!important;border:1px solid var(--input-border)!important;border-radius:12px!important;padding:2px 6px!important;min-height:40px!important;box-shadow:none!important;cursor:pointer!important;transition:all .2s ease!important}.city-select__control--is-focused{border-color:var(--accent-primary)!important}.city-select__control:hover{border-color:var(--accent-primary)!important;background:var(--bg-secondary)!important}.city-select__value-container{padding:0 8px!important;display:flex!important;align-items:center!important;gap:8px!important}.city-select__input-container{color:var(--text-primary)!important;margin:0!important;padding:0!important}.city-select__single-value{color:var(--text-primary)!important;font-size:.9rem!important;margin-left:0!important}.city-select__placeholder{color:var(--text-muted)!important;font-size:.9rem!important}.city-select__menu{background:var(--card-bg)!important;border:1px solid var(--border-color)!important;border-radius:12px!important;box-shadow:var(--shadow-lg)!important;margin-top:4px!important;overflow:hidden!important;z-index:9999!important}.city-select__menu-list{padding:0!important;max-height:300px!important}.city-select__option{background-color:transparent!important;color:var(--text-primary)!important;cursor:pointer!important;padding:10px 14px!important;font-size:.9rem!important;transition:all .2s ease!important}.city-select__option--is-focused,.city-select__option--is-selected{background-color:var(--bg-secondary)!important;color:var(--accent-primary)!important}.city-select__indicator-separator{display:none!important}.city-select__dropdown-indicator{color:var(--text-muted)!important;padding:0 8px!important;transition:all .2s ease!important}.city-select__dropdown-indicator:hover{color:var(--accent-primary)!important}.city-select__clear-indicator{color:var(--text-muted)!important;padding:0 8px!important}.city-select__clear-indicator:hover{color:var(--accent-primary)!important}.trip-planner-container{display:grid;grid-template-areas:"sidebar recommendation chat" "sidebar input input";grid-template-columns:250px 1fr 400px;grid-template-rows:1fr auto;height:100vh;overflow:hidden;background:var(--bg-primary);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,sans-serif;transition:grid-template-columns .3s ease;position:relative}.trip-planner-container.sidebar-collapsed{grid-template-columns:16px 1fr 400px}.sidebar-toggle{position:absolute;top:50%;left:250px;transform:translate(-50%,-50%);background:var(--bg-secondary);border:none;border-radius:24px;width:20px;height:80px;display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:18px;color:#fff;transition:all .3s ease;z-index:200;box-shadow:0 4px 20px #0003;padding:0}.sidebar-toggle.collapsed{left:16px;width:24px;border-radius:8px}.sidebar-toggle:hover{background:var(--hover-bg);color:var(--text-primary);border-color:var(--accent-primary);box-shadow:0 4px 12px #00000026}.main-content{grid-area:recommendation;display:contents}@media(max-width:1024px){.trip-planner-container{grid-template-columns:200px 1fr 350px}}@media(max-width:768px){.trip-planner-container{grid-template-areas:"recommendation" "input";grid-template-columns:1fr;grid-template-rows:1fr auto}.sidebar{position:fixed;left:-250px;width:250px;height:100vh;z-index:100;transition:left .3s}.sidebar.open{left:0}.chat-panel{display:none}}html{font-size:20px}:root{--bg-primary: #ffffff;--bg-secondary: #f5f5f5;--bg-tertiary: #e8e8e8;--text-primary: #1a1a1a;--text-secondary: #4a4a4a;--text-muted: #888888;--border-color: #e0e0e0;--border-hover: #cccccc;--shadow-sm: 0 1px 3px rgba(0, 0, 0, .1);--shadow-md: 0 4px 6px rgba(0, 0, 0, .1);--shadow-lg: 0 10px 20px rgba(0, 0, 0, .15);--accent-primary: #3b82f6;--accent-hover: #2563eb;--input-bg: #ffffff;--input-border: #d1d5db;--card-bg: #ffffff;--hover-bg: #f3f4f6;--placeholder-color: #9ca3af}[data-theme=dark]{--bg-primary: #1a1a1a;--bg-secondary: #2d2d2d;--bg-tertiary: #3a3a3a;--text-primary: #e0e0e0;--text-secondary: #b0b0b0;--text-muted: #808080;--border-color: #404040;--border-hover: #505050;--shadow-sm: 0 1px 3px rgba(0, 0, 0, .3);--shadow-md: 0 4px 6px rgba(0, 0, 0, .3);--shadow-lg: 0 10px 20px rgba(0, 0, 0, .5);--accent-primary: #60a5fa;--accent-hover: #3b82f6;--input-bg: #2d2d2d;--input-border: #404040;--card-bg: #2d2d2d;--hover-bg: #3a3a3a;--placeholder-color: #606060}body{background-color:var(--bg-primary);color:var(--text-primary);transition:background-color .3s ease,color .3s ease}input,textarea,select{background-color:var(--input-bg);border-color:var(--input-border);color:var(--text-primary)}input::placeholder,textarea::placeholder{color:var(--placeholder-color)}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--bg-secondary)}::-webkit-scrollbar-thumb{background:var(--border-hover);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}
