.welcome-container{background:#fff;display:flex;align-items:center;justify-content:center;position:relative;height:calc(100vh - 20px);overflow-y:auto}.welcome-container-total{height:100vh;background:#fff;position:relative;padding:20px;box-sizing:border-box}.welcome-progress-container{z-index:20;flex-direction:column;align-items:center;gap:8px;width:100%;padding-bottom:20px;display:flex;position:absolute;top:0;left:50%;transform:translate(-50%)}.welcome-progress-bar{background:#e8e8e8;border-radius:20px;width:100%;height:5px;overflow:hidden}.welcome-progress-fill{height:100%;background:linear-gradient(135deg,#8a3ed5,#fcca3e);border-radius:20px;transition:width .5s ease;box-shadow:0 0 10px rgba(138,62,213,.3)}.welcome-progress-text{font-size:14px;font-weight:600;color:#666;text-shadow:0 1px 2px rgba(255,255,255,.8)}.welcome-skip-button{cursor:pointer;z-index:10;border:1px solid #ddd;border-radius:20px;padding:8px 16px;font-size:14px;transition:all .2s;position:absolute;top:20px;right:20px;color:#ddd}.welcome-skip-button:hover{background:rgba(255,255,255,.3);transform:translateY(-1px)}.welcome-chat-container{width:100%;max-width:800px;height:96vh;display:flex;flex-direction:column;overflow:hidden}.welcome-messages{flex-direction:column;flex:1;gap:20px;padding-top:30px;display:flex;overflow-y:auto;padding-bottom:30px}.welcome-message{display:flex;flex-direction:row;max-width:80%;gap:10px;align-items:flex-start}.welcome-message--ai{align-self:flex-start;flex-direction:row}.welcome-message--user{align-self:flex-end;flex-direction:row-reverse}.welcome-message-avatar{flex-shrink:0}.welcome-avatar{width:30px;height:30px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:600}.welcome-avatar--ai{background:#fcca3e;color:#8a3ed5}.welcome-avatar--user{background:#6366f1;color:white}.welcome-message-bubble{display:flex;flex-direction:column}.welcome-message-content{padding:15px 20px;border-radius:20px;font-size:16px;line-height:1.5}.welcome-message--ai .welcome-message-content{background:#f1f3f4;color:#333}.welcome-message--user .welcome-message-content{background:#6366f1;color:white}.welcome-message-timestamp{font-size:12px;color:#999;margin-top:5px;padding:0 10px}.welcome-message--user .welcome-message-timestamp{text-align:right}.welcome-typing-indicator{display:flex;gap:4px;align-items:center}.welcome-typing-indicator span{width:8px;height:8px;border-radius:50%;background:#999;animation:typing 1.4s ease-in-out infinite}.welcome-typing-indicator span:first-child{animation-delay:-.32s}.welcome-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}}.welcome-input-area{padding:0 15px 15px}.welcome-text-input{display:flex;align-items:center;gap:.75rem}.welcome-input-field{flex:1;border-radius:25px;border:1px solid #ddd;padding:12px 20px;font-size:16px}.welcome-textarea-field{flex:1;border-radius:15px;border:1px solid #ddd;padding:12px 20px;font-size:16px;resize:none}.welcome-send-button{width:45px;height:45px;border-radius:50%;background:#6366f1;border:none;color:white;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s ease}.welcome-send-button:hover:not(:disabled){background:#5a6fd8;transform:translateY(-1px)}.welcome-send-button:disabled{background:#ccc;cursor:not-allowed}.welcome-button-options{display:flex;flex-direction:column;gap:10px}.welcome-option-button{padding:15px 20px;border-radius:25px;border:2px solid #667eea;background:white;color:#667eea;font-size:16px;cursor:pointer;transition:all .2s ease}.welcome-option-button:hover{background:#667eea;color:white;transform:translateY(-1px)}.welcome-inline-button-options{display:flex;flex-wrap:wrap;gap:8px;margin-top:15px;padding:0 10px}.welcome-inline-option-button{padding:8px 16px!important;border-radius:20px!important;border:2px solid #6366f1!important;background:white!important;color:#6366f1!important;font-size:14px!important;cursor:pointer!important;transition:all .2s ease!important;height:auto!important;min-height:auto!important;margin-right:10px;margin-bottom:10px}.welcome-inline-option-button:hover{background:#6366f1!important;color:white!important;transform:translateY(-1px)!important}.welcome-inline-option-button--selected{background:#6366f1!important;color:white!important;transform:translateY(0)!important}.welcome-continue-button{border-radius:20px;padding:15px 20px;background:#6366f1!important;color:white!important}.welcome-location-container{position:relative;flex:1;width:100%}.welcome-text-input .chat-talk-input__container{width:100%!important;background-color:white!important;border:1px solid #ddd!important;border-radius:25px!important;padding:0!important;display:flex!important;align-items:center!important;gap:0!important}.welcome-text-input .chat-talk-input__field{border:none!important;background:transparent!important;flex:1!important;padding:12px 20px!important;font-size:16px!important;border-radius:25px!important}.welcome-text-input .chat-talk-input__field:focus{outline:none!important;box-shadow:none!important}.welcome-text-input .chat-talk-input__send-button{margin-right:8px!important;background-color:#6366f1!important;width:36px!important;height:36px!important;border-radius:50%!important;justify-content:center;display:flex;align-items:center;color:#ffffff!important}.welcome-text-input .chat-talk-input__send-button:disabled{background-color:#afb1b3!important;color:#ffffff!important}.welcome-location-dropdown{position:absolute;bottom:100%;left:0;right:0;background:white;border:1px solid #ddd;border-bottom:none;border-radius:15px 15px 0 0;box-shadow:0 -4px 6px -1px rgba(0,0,0,.1);z-index:50;max-height:200px;overflow-y:auto;margin-bottom:5px}.welcome-location-option{display:flex;align-items:center;padding:12px 16px;cursor:pointer;transition:background-color .2s ease;border-bottom:1px solid #f3f4f6;font-size:14px}.welcome-location-option:last-child{border-bottom:none}.welcome-location-option:hover{background:#f9fafb}.welcome-location-option span{color:#374151}.welcome-activities-grid{margin-top:1rem;margin-bottom:1rem}.passport-container{min-height:calc(100vh - 80px);padding:2rem}.passport-header{text-align:center;margin-bottom:2rem}.passport-title{font-size:2.5rem;font-weight:700;color:#1e293b;margin-bottom:.5rem}.passport-subtitle{font-size:1.125rem;color:#64748b}.passport-content{max-width:38rem;margin:0 auto;display:flex;flex-direction:column;gap:1.5rem}.passport-info-card,.passport-photo-card{background:none;border:none!important;box-shadow:none!important;border-radius:none}.passport-info-card .passport-card-content{padding-top:1.5rem;padding-bottom:1.5rem;padding-left:0!important;padding-right:0!important}.passport-info-card .passport-card-header{padding:1.5rem 1.5rem 0!important}.passport-photo-content{display:flex;align-items:center;gap:1.5rem}.passport-photo-wrapper{position:relative}.passport-photo{width:100px;height:100px;background:rgba(255,255,255,.2);overflow:hidden}.passport-photo,.passport-photo-upload{border-radius:50%;display:flex;align-items:center;justify-content:center}.passport-photo-upload{position:absolute;bottom:-5px;right:-5px;width:32px;height:32px;background:white;cursor:pointer;box-shadow:0 2px 8px rgba(0,0,0,.15);color:#667eea}.passport-photo-input{display:none}.passport-photo-name{font-size:1.5rem;font-weight:600;margin-bottom:.5rem}.passport-photo-badge{background:rgba(255,255,255,.2);color:white;border:1px solid rgba(255,255,255,.3)}.passport-card-title{font-size:1.4rem;font-weight:600;color:#1f2937;margin-bottom:0;padding-top:1rem}.passport-card-content{display:flex;flex-direction:column;gap:1.25rem}.passport-field{display:flex;flex-direction:column;gap:.5rem}.passport-field-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.25rem}.passport-field-label{font-size:1.125rem;font-weight:500;color:#111827;margin:0}.passport-emoji,.passport-field-icon{display:none}.passport-edit-button{background:transparent!important;border:1px solid #d1d5db!important;color:#6b7280!important;font-size:.75rem!important;font-weight:500!important;padding:.25rem .5rem!important;height:auto!important;border-radius:4px!important;transition:all .2s ease!important}.passport-edit-button:hover{background:#f9fafb!important;border-color:#9ca3af!important;color:#374151!important}.passport-field-value{color:#1f2937;font-size:.875rem;font-weight:400;margin:0;padding:.5rem .7rem;background:#f9fafb;border:1px solid #e5e7eb;border-radius:.375rem;min-height:3rem;display:flex;align-items:center}#accessibility-field-value{min-height:5.5rem;padding:.5rem .7rem;font-family:inherit;font-size:1rem}.passport-preference-badge{align-self:flex-start;background:#f3f4f6!important;color:#374151!important;border:1px solid #e5e7eb!important;font-size:.875rem!important;font-weight:400!important;padding:.25rem .75rem!important;border-radius:6px!important}.passport-edit-container{display:flex;flex-direction:column;gap:.75rem}.passport-edit-input,.passport-edit-textarea{border:1px solid #d1d5db!important;border-radius:6px!important;padding:.5rem .75rem!important;font-size:.875rem!important;background:white!important;transition:border-color .2s ease!important}.passport-edit-input:focus,.passport-edit-textarea:focus{outline:none!important;border-color:#3b82f6!important;box-shadow:0 0 0 3px rgba(59,130,246,.1)!important}.passport-button-options{display:flex;flex-wrap:wrap;gap:.5rem}.passport-option-button{font-size:.875rem!important;padding:.5rem 1rem!important;border-radius:6px!important;border:1px solid #d1d5db!important;background:white!important;color:#374151!important;transition:all .2s ease!important}.passport-option-button:hover{background:#f9fafb!important;border-color:#9ca3af!important}.passport-option-button.active{background:#6366f1!important;border-color:#6366f1!important;color:white!important}.passport-edit-actions{display:flex;gap:.5rem}.passport-save-button{background:#10b981!important;color:white!important;border:none!important;font-size:.875rem!important;padding:.5rem 1rem!important;border-radius:6px!important;font-weight:500!important}.passport-save-button:hover{background:#059669!important}.passport-cancel-button{background:transparent!important;color:#6b7280!important;border:1px solid #d1d5db!important;font-size:.875rem!important;padding:.5rem 1rem!important;border-radius:6px!important;font-weight:500!important}.passport-cancel-button:hover{background:#f9fafb!important;color:#374151!important}.passport-empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:60vh;text-align:center;padding:2rem}.passport-empty-icon{margin-bottom:1.5rem}.passport-empty-title{font-size:1.5rem;font-weight:600;color:#374151;margin-bottom:.5rem}.passport-empty-description{color:#6b7280;margin-bottom:2rem;max-width:400px;font-size:.875rem}.passport-empty-button{background:#667eea;color:white;border:none;padding:.75rem 1.5rem;border-radius:6px;font-weight:500;font-size:.875rem}.passport-empty-button:hover{background:#5a6fd8}.passport-location-search{position:relative}.passport-location-dropdown{position:absolute;top:100%;left:0;right:0;background:white;border:1px solid #d1d5db;border-top:none;border-radius:0 0 6px 6px;box-shadow:0 4px 6px -1px rgba(0,0,0,.1);z-index:50;max-height:200px;overflow-y:auto}.passport-location-option{display:flex;align-items:center;gap:.5rem;padding:.75rem;cursor:pointer;transition:background-color .2s ease;border-bottom:1px solid #f3f4f6}.passport-location-option:last-child{border-bottom:none}.passport-location-option:hover{background:#f9fafb}.passport-location-icon{color:#6b7280;flex-shrink:0}.passport-location-option span{font-size:.875rem;color:#374151}.passport-save-button{background-color:#6366f1!important}.passport-save-button:hover{background-color:#4f51bf!important}@media (max-width:768px){.welcome-chat-container{height:80vh;margin:10px;border-radius:15px}.welcome-messages{padding:20px}.welcome-input-area{padding:15px 20px}.welcome-button-options{gap:8px}.welcome-option-button{padding:12px 16px;font-size:14px}.welcome-inline-button-options{flex-direction:column;gap:6px}.welcome-inline-option-button{width:100%!important;justify-content:center!important}.passport-container{padding:1rem}.passport-title{font-size:2rem}.passport-photo-content{flex-direction:column;text-align:center;padding:1.5rem}.passport-button-options{flex-direction:column}.passport-option-button{width:100%}}