*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,sans-serif;background:linear-gradient(135deg,#667eea 0,#764ba2 100%);min-height:100vh;display:flex;align-items:center;justify-content:center;padding:20px;overflow:hidden}.chat-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:rgba(0,0,0,.3);backdrop-filter:blur(10px);display:flex;align-items:center;justify-content:center;z-index:1000}.chat-container{width:100%;max-width:480px;height:600px;background:rgba(255,255,255,.15);backdrop-filter:blur(20px);border-radius:24px;border:1px solid rgba(255,255,255,.2);box-shadow:0 20px 40px rgba(0,0,0,.1);display:flex;flex-direction:column;overflow:hidden;animation:slideInUp .4s ease-out}@keyframes slideInUp{from{opacity:0;transform:translateY(30px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.chat-header{padding:24px 24px 20px;background:rgba(255,255,255,.1);border-bottom:1px solid rgba(255,255,255,.1);display:flex;align-items:center;justify-content:space-between}.header-info{display:flex;align-items:center;gap:12px}.concierge-avatar{width:40px;height:40px;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;font-weight:600;font-size:16px}.header-text h3{color:#fff;font-size:18px;font-weight:600;margin-bottom:2px}.header-text p{color:rgba(255,255,255,.8);font-size:14px}.close-btn{width:32px;height:32px;background:rgba(255,255,255,.1);border:none;border-radius:50%;color:rgba(255,255,255,.8);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease;-webkit-tap-highlight-color:transparent;touch-action:manipulation}.close-btn:hover{background:rgba(255,255,255,.2);color:#fff}.close-btn:active{transform:scale(.95)}.chat-messages{flex:1;padding:20px;overflow-y:auto;display:flex;flex-direction:column;gap:16px;-webkit-overflow-scrolling:touch}.message{display:flex;gap:12px;max-width:85%;animation:fadeInUp .3s ease-out}@keyframes fadeInUp{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.message.user{align-self:flex-end;flex-direction:row-reverse}.message-avatar{width:32px;height:32px;border-radius:50%;flex-shrink:0;display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:600}.message.bot .message-avatar{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.message.user .message-avatar{background:rgba(255,255,255,.2);color:#fff}.message-content{background:rgba(255,255,255,.1);padding:12px 16px;border-radius:18px;color:#fff;line-height:1.4;border:1px solid rgba(255,255,255,.1)}.message.user .message-content{background:rgba(255,255,255,.2)}.quick-replies{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.quick-reply{background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.2);color:#fff;padding:8px 14px;border-radius:20px;cursor:pointer;font-size:14px;transition:all .2s ease;-webkit-tap-highlight-color:transparent;touch-action:manipulation}.quick-reply:hover{background:rgba(255,255,255,.2);transform:translateY(-1px)}.quick-reply:active{transform:scale(.95)}.chat-input{padding:20px;background:rgba(255,255,255,.05);border-top:1px solid rgba(255,255,255,.1)}.input-container{display:flex;gap:12px;align-items:flex-end}.input-wrapper{flex:1;position:relative}.message-input{width:100%;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.2);border-radius:20px;padding:12px 16px;color:#fff;font-size:16px;resize:none;min-height:44px;max-height:120px;outline:0;transition:all .2s ease;-webkit-appearance:none;overflow:hidden;field-sizing:content}.message-input::placeholder{color:rgba(255,255,255,.6)}.message-input:focus{border-color:rgba(255,255,255,.4);background:rgba(255,255,255,.15)}.send-btn{width:44px;height:44px;background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:50%;color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease;flex-shrink:0;-webkit-tap-highlight-color:transparent;touch-action:manipulation}.send-btn:hover{transform:scale(1.05);box-shadow:0 4px 12px rgba(102,126,234,.4)}.send-btn:active{transform:scale(.95)}.send-btn:disabled{opacity:.5;cursor:not-allowed;transform:none}.typing-indicator{display:flex;align-items:center;gap:4px;padding:12px 16px;background:rgba(255,255,255,.1);border-radius:18px;color:rgba(255,255,255,.8);font-size:14px}.typing-dots{display:flex;gap:4px}.typing-dot{width:6px;height:6px;background:rgba(255,255,255,.6);border-radius:50%;animation:typingPulse 1.5s infinite}.typing-dot:nth-child(2){animation-delay:.2s}.typing-dot:nth-child(3){animation-delay:.4s}@keyframes typingPulse{0%,100%,60%{opacity:.4;transform:scale(1)}30%{opacity:1;transform:scale(1.2)}}.background-elements{position:fixed;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:100}.floating-card{position:absolute;background:rgba(255,255,255,.08);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.15);border-radius:16px;padding:20px;color:#fff;animation:float 6s ease-in-out infinite}.floating-card:nth-child(1){top:10%;left:5%;animation-delay:0s}.floating-card:nth-child(2){top:20%;right:8%;animation-delay:2s}.floating-card:nth-child(3){bottom:25%;left:8%;animation-delay:4s}.floating-card:nth-child(4){bottom:15%;right:5%;animation-delay:1s}@keyframes float{0%,100%{transform:translateY(0) rotate(0);opacity:.7}50%{transform:translateY(-20px) rotate(1deg);opacity:1}}.floating-card h4{font-size:16px;font-weight:700;margin-bottom:8px;background:linear-gradient(135deg,#4ade80,#22c55e);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.floating-card p{font-size:13px;opacity:.9;line-height:1.4}.brand-header{position:fixed;top:30px;left:50%;transform:translateX(-50%);z-index:1300;text-align:center}.brand-logo{font-size:32px;font-weight:700;margin-bottom:8px;color:#fff}.brand-tagline{font-size:14px;color:rgba(255,255,255,.8);font-weight:500}.brand-tagline-2{font-size:14px;color:pink;font-weight:500}@media (max-width:768px){body{padding:0;margin:0}.chat-overlay{padding:0;margin:0}.chat-container{width:100%;height:100dvh;border-radius:0;max-width:none;margin:0}.brand-header{display:none}.chat-header{padding:max(20px,env(safe-area-inset-top) + 10px) 16px 16px;margin-top:0}.chat-messages{padding:16px;flex:1;overflow-y:auto;-webkit-overflow-scrolling:touch}.chat-input{padding:16px;padding-bottom:max(16px,env(safe-area-inset-bottom) + 10px);background:rgba(255,255,255,.05);border-top:1px solid rgba(255,255,255,.1)}.message{max-width:90%}.message-content{padding:10px 14px}.quick-reply{padding:10px 16px;font-size:14px}.floating-card{display:none}.send-btn{width:48px;height:48px}.close-btn{width:36px;height:36px}}@supports (-webkit-touch-callout:none){.message-input{font-size:16px}}@media (max-height:500px) and (orientation:landscape){.brand-header{display:none}.chat-header{margin-top:0;padding-top:16px}.chat-messages{padding:12px 16px}.chat-input{padding:12px 16px}}