/* Launcher Button - TOP RIGHT */
.dsp-launcher {
    position: fixed;
    top: 130px;        /* 130px from the top */
    right: 20px;       /* 20px from the right */
    
    /* Reset other positions */
    left: auto;
    bottom: auto;
    
    width: 60px;
    height: 60px;
    background: #0073aa; /* Professional Blue */
    border-radius: 50%;
    
    cursor: pointer;
    box-shadow: 0 4px 12px rgba(0,0,0,0.3);
    display: flex;
    align-items: center;
    justify-content: center;
    
    /* Maximum Z-Index to stay on top */
    z-index: 2147483647 !important; 
    transition: transform 0.2s;
}

.dsp-launcher:hover { transform: scale(1.1); }
.dsp-launcher img { width: 30px; height: 30px; }

/* Chat Window */
.dsp-window {
    position: fixed;
    top: 200px;       /* Opens below the button */
    right: 20px;
    
    /* Reset other positions */
    left: auto;
    bottom: auto;
    
    width: 350px;
    height: 500px;
    background: #fff;
    border-radius: 12px;
    box-shadow: 0 5px 20px rgba(0,0,0,0.2);
    display: flex;
    flex-direction: column;
    
    z-index: 2147483647 !important;
    
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif;
    overflow: hidden;
}

.dsp-window.hidden { display: none; }

/* Standard Styles (Header, Messages, Input) */
.dsp-header { background: #0073aa; color: #fff; padding: 15px; display: flex; justify-content: space-between; align-items: center; }
.dsp-title { font-weight: bold; display: flex; flex-direction: column; }
.dsp-status { font-size: 0.7em; opacity: 0.8; }
#dsp-close-btn { background: none; border: none; color: #fff; font-size: 20px; cursor: pointer; }
.dsp-messages { flex: 1; padding: 15px; background: #f9f9f9; overflow-y: auto; }
.dsp-msg { margin-bottom: 10px; display: flex; }
.dsp-msg.user { justify-content: flex-end; }
.dsp-msg.bot { justify-content: flex-start; }
.dsp-bubble { max-width: 80%; padding: 10px 14px; border-radius: 12px; font-size: 14px; line-height: 1.4; }
.dsp-msg.user .dsp-bubble { background: #0073aa; color: #fff; border-bottom-right-radius: 2px; }
.dsp-msg.bot .dsp-bubble { background: #e5e5e5; color: #333; border-bottom-left-radius: 2px; }
.dsp-bubble.loading span { animation: blink 1.4s infinite both; font-size: 20px; }
.dsp-bubble.loading span:nth-child(2) { animation-delay: 0.2s; }
.dsp-bubble.loading span:nth-child(3) { animation-delay: 0.4s; }
@keyframes blink { 0% {opacity: .2;} 20% {opacity: 1;} 100% {opacity: .2;} }
.dsp-input-area { padding: 10px; border-top: 1px solid #eee; display: flex; gap: 10px; background: #fff; }
#dsp-user-input { flex: 1; border: 1px solid #ddd; border-radius: 20px; padding: 8px 12px; resize: none; height: 40px; }
#dsp-send-btn { background: #0073aa; color: #fff; border: none; padding: 0 15px; border-radius: 20px; cursor: pointer; }
.dsp-footer { text-align: center; font-size: 10px; color: #999; padding-bottom: 5px; }