.jszpro-widget { position: fixed; right: 20px; bottom: 20px; z-index: 999999; font-family: Arial, sans-serif; }
.jszpro-button { background:#0b63b3; color:#fff; padding:12px 16px; border-radius:28px; border:none; cursor:pointer; box-shadow:0 12px 30px rgba(3,20,50,0.18); font-weight:600; }
.jszpro-popup { position: fixed; right: 20px; bottom: 80px; width: 420px; max-width: 95%; display:none; opacity:0; transform: translateY(8px); transition: all 220ms ease; }
.jszpro-popup.open { opacity:1; transform: translateY(0); }
.jszpro-popup-inner { background:#ffffff; border-radius:12px; box-shadow:0 20px 60px rgba(3,20,50,0.2); overflow:hidden; }
.jszpro-popup-header { background:linear-gradient(180deg,#0b63b3,#074a86); color:#fff; padding:12px; display:flex; align-items:center; gap:8px; }
.jszpro-logo { height:36px; border-radius:6px; background:rgba(255,255,255,0.06); padding:4px; }
.jszpro-title { font-weight:700; }
.jszpro-close { margin-left:auto; background:transparent; border:none; color:#fff; font-size:18px; cursor:pointer; }
.jszpro-popup-body { padding:12px; }
.jszpro-form { display:flex; flex-direction:column; gap:8px; }
.jszpro-form input, .jszpro-form select, textarea#jszpro-input { padding:10px; border-radius:8px; border:1px solid #d6e2f0; width:100%; box-sizing:border-box; }
.jszpro-btn { background:#0b63b3; color:white; border:none; padding:12px; border-radius:8px; cursor:pointer; width:100%; font-weight:600; }
.jszpro-chat { display:flex; flex-direction:column; gap:8px; }
.jszpro-welcome { color:#fff; margin-top:6px; }
.jszpro-messages { max-height:320px; overflow-y:auto; padding:8px; background: linear-gradient(180deg,#f8fbff,#ffffff); border-radius:8px; }
.jszpro-msg { margin:8px 0; padding:10px 12px; border-radius:10px; max-width:85%; word-wrap:break-word; }
.jszpro-msg.user { background:#e6fff4; margin-left:auto; }
.jszpro-msg.bot { background:#ffffff; border:1px solid #eef3fb; margin-right:auto; }

/* Improved input row layout */
.jszpro-input-area { display:flex; gap:8px; margin-top:8px; align-items:flex-end; }
.jszpro-input-area textarea { 
    flex: 1; 
    padding:10px; 
    border-radius:8px; 
    border:1px solid #d6e2f0; 
    min-height:44px; 
    max-height:180px; 
    resize:vertical; 
    box-sizing:border-box;
    font-size:14px;
    line-height:1.3;
}

/* Make the Send button compact and vertically centered */
#jszpro-send {
    background:#0b63b3;
    color:#fff;
    border:none;
    padding:10px 14px;
    border-radius:8px;
    cursor:pointer;
    min-width:100px;
    max-width:120px;
    align-self:stretch;
    display:flex;
    align-items:center;
    justify-content:center;
    font-weight:600;
    font-size:14px;
}

/* Responsive adjustments */
@media (max-width:480px) {
    .jszpro-popup { right:10px; left:10px; bottom:70px; width:auto; }
    .jszpro-input-area { flex-direction:column; }
    #jszpro-send { width:100%; align-self:stretch; max-width:none; }
}

/* Slight padding at bottom of messages so last item not hidden under input */
.jszpro-messages { padding-bottom:12px; }