.chat-container{background:#fff;border-radius:12px;box-shadow:0 4px 20px rgba(0,0,0,.1);overflow:hidden;max-width:800px;margin:0 auto;position:relative}.chat-container input,.chat-container select,.chat-container textarea{border:none!important;box-shadow:none!important;outline:0!important}.chat-container input:focus:invalid,.chat-container input:invalid,.chat-container select:focus:invalid,.chat-container select:invalid,.chat-container textarea:focus:invalid,.chat-container textarea:invalid{border:none!important;box-shadow:none!important;outline:0!important}.chat-messages{min-height:400px;max-height:600px;overflow-y:auto;padding:20px;background:linear-gradient(135deg,#f8f9fa 0,#e9ecef 100%);scrollbar-width:thin;scrollbar-color:#cbd5e0 #f7fafc}.chat-messages::-webkit-scrollbar{width:8px}.chat-messages::-webkit-scrollbar-track{background:#f7fafc;border-radius:4px}.chat-messages::-webkit-scrollbar-thumb{background:#cbd5e0;border-radius:4px}.chat-messages::-webkit-scrollbar-thumb:hover{background:#a0aec0}.message{display:flex;margin-bottom:20px;align-items:flex-start;animation:messageSlideIn .3s ease-out}@keyframes messageSlideIn{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.message-avatar{width:40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center;margin-right:12px;flex-shrink:0}.system-message .message-avatar{background:linear-gradient(135deg,#667eea 0,#764ba2 100%);color:#fff}.user-message .message-avatar{background:linear-gradient(135deg,#f093fb 0,#f5576c 100%);color:#fff;order:2;margin-right:0;margin-left:12px}.message-content{flex:1;max-width:calc(100% - 60px)}.user-message .message-content{display:flex;justify-content:flex-end}.message-bubble{background:#fff;padding:16px 20px;border-radius:18px;position:relative;box-shadow:0 2px 8px rgba(0,0,0,.1);max-width:100%;word-wrap:break-word}.system-message .message-bubble{border-bottom-left-radius:4px;background:#fff}.user-message .message-bubble{background:linear-gradient(135deg,#667eea 0,#764ba2 100%);color:#fff;border-bottom-right-radius:4px}.message-bubble p{margin:0;line-height:1.5}.message-bubble p+p{margin-top:8px}.chat-input-area{background:#fff;padding:25px 20px;border-top:1px solid #e2e8f0}.input-container{display:flex;align-items:center;background:#f8f9fa;border-radius:30px;padding:12px 12px 12px 24px;border:2px solid transparent;transition:all .3s ease;min-height:56px}.input-container:focus-within:invalid,.input-container:invalid{border-color:transparent!important;box-shadow:0 0 0 3px rgba(102,126,234,.1)!important}.input-container:focus-within{border-color:#667eea;background:#fff;box-shadow:0 0 0 3px rgba(102,126,234,.1)}#chat-input{flex:1;border:none;background:0 0;padding:16px 8px;font-size:17px;line-height:1.4;outline:0;color:#2d3748;resize:none;min-height:24px;max-height:120px}#chat-input:invalid{border:none;box-shadow:none;outline:0}#chat-input:focus:invalid{border:none;box-shadow:none;outline:0}#chat-input::placeholder{color:#a0aec0}.send-button{width:48px;height:48px;border-radius:50%;border:none;background:linear-gradient(135deg,#667eea 0,#764ba2 100%);color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .3s ease;font-size:18px;margin-left:8px;flex-shrink:0}.send-button:hover:not(:disabled){transform:scale(1.05);box-shadow:0 4px 12px rgba(102,126,234,.4)}.send-button:disabled{background:#e2e8f0;color:#a0aec0;cursor:not-allowed;transform:none;box-shadow:none}.choice-buttons{padding:0 20px 20px;background:#fff;display:flex;flex-wrap:wrap;gap:10px}.choice-button{background:#fff;border:2px solid #e2e8f0;padding:12px 20px;border-radius:20px;cursor:pointer;transition:all .3s ease;font-size:14px;color:#4a5568}.choice-button:hover{border-color:#667eea;background:#f7fafc;color:#667eea}.choice-button:active{transform:scale(.98)}.confirmation-section{background:#fff;border-radius:12px;padding:30px;margin-top:30px;box-shadow:0 4px 20px rgba(0,0,0,.1)}.confirmation-content{background:#f8f9fa;border-radius:8px;padding:25px;margin:20px 0}.confirmation-item{display:flex;margin-bottom:15px;padding-bottom:15px;border-bottom:1px solid #e2e8f0}.confirmation-item:last-child{margin-bottom:0;padding-bottom:0;border-bottom:none}.confirmation-label{font-weight:600;color:#2d3748;min-width:120px;margin-right:20px}.confirmation-value{color:#4a5568;flex:1;white-space:pre-wrap}.confirmation-actions{display:flex;gap:15px;justify-content:center;margin-top:25px}.confirmation-actions .button{min-width:120px}.typing-indicator{display:flex;align-items:center;margin-bottom:20px}.typing-indicator .message-avatar{background:linear-gradient(135deg,#667eea 0,#764ba2 100%);color:#fff}.typing-dots{background:#fff;padding:16px 20px;border-radius:18px;border-bottom-left-radius:4px;display:flex;align-items:center;gap:4px;box-shadow:0 2px 8px rgba(0,0,0,.1)}.typing-dot{width:8px;height:8px;border-radius:50%;background:#cbd5e0;animation:typingDot 1.4s infinite ease-in-out}.typing-dot:first-child{animation-delay:-.32s}.typing-dot:nth-child(2){animation-delay:-.16s}@keyframes typingDot{0%,100%,80%{transform:scale(.8);background:#cbd5e0}40%{transform:scale(1);background:#667eea}}.chat-container.loading .chat-input-area{opacity:.6;pointer-events:none}@media screen and (max-width:768px){.chat-container{border-radius:0;box-shadow:none}.chat-messages{padding:15px;min-height:300px;max-height:400px}.message-avatar{width:32px;height:32px;margin-right:8px}.user-message .message-avatar{margin-left:8px}.message-bubble{padding:12px 16px;font-size:14px}.chat-input-area{padding:20px 15px}.input-container{padding:10px 10px 10px 20px;border-radius:28px;min-height:52px}#chat-input{padding:14px 6px;font-size:16px;line-height:1.4}.send-button{width:38px;height:38px;font-size:14px}.choice-buttons{padding:0 15px 15px;flex-direction:column}.choice-button{padding:10px 16px;font-size:14px;text-align:center}.confirmation-section{padding:20px;margin-top:20px;border-radius:0}.confirmation-content{padding:20px}.confirmation-item{flex-direction:column;gap:5px}.confirmation-label{min-width:auto;margin-right:0;font-size:14px}.confirmation-value{font-size:14px}.confirmation-actions{flex-direction:column;gap:10px}.confirmation-actions .button{min-width:auto;width:100%}}@media (prefers-reduced-motion:reduce){.message{animation:none}.typing-dot{animation:none}.send-button:hover:not(:disabled){transform:none}.choice-button:active{transform:none}}@media (prefers-contrast:high){.message-bubble{border:2px solid #000}.choice-button{border-color:#000}.confirmation-item{border-bottom-color:#000}}