.aicp-chat-toggle {
    position: fixed;
    bottom: 25px;
    width: 65px; height: 65px;
    border-radius: 50%;
    color: #fff; border: none; font-size: 28px; cursor: pointer; z-index: 999999;
    box-shadow: 0 4px 20px rgba(0,0,0,.25);
    transition: transform .2s, box-shadow .2s;
}
.aicp-chat-toggle:hover { transform: scale(1.08); }

.aicp-chat-window {
    position: fixed;
    bottom: 105px;
    width: 370px; height: 530px;
    background: #fff; border-radius: 18px; border: 1px solid #e0e0e0;
    box-shadow: 0 10px 40px rgba(0,0,0,.18);
    display: none; flex-direction: column; overflow: hidden; z-index: 999999;
}
.aicp-chat-window.open { display: flex; }

.aicp-chat-header {
    display: flex; align-items: center; justify-content: space-between;
    padding: 16px 20px; color: #fff; font-weight: 600; font-size: 15px;
}
.aicp-chat-close {
    background: none; border: none; color: rgba(255,255,255,.85);
    font-size: 18px; cursor: pointer; padding: 0; line-height: 1;
}
.aicp-chat-close:hover { color: #fff; }

.aicp-chat-body {
    flex: 1; padding: 18px; overflow-y: auto;
    background: #f7f7f7; display: flex; flex-direction: column; gap: 10px;
}

.aicp-message-bot, .aicp-message-user { display: flex; }
.aicp-message-user { justify-content: flex-end; }
.aicp-message-bot span, .aicp-message-user span {
    max-width: 80%; padding: 10px 15px; border-radius: 14px;
    font-size: 14px; line-height: 1.5; word-break: break-word;
}
.aicp-message-bot span  { background: #fff; border: 1px solid #e8e8e8; color: #333; }
.aicp-message-user span { background: var(--aicp-primary, #0f7a5a); color: #fff; }
.aicp-typing span       { background: #fff; border: 1px solid #e8e8e8; color: #999; font-style: italic; }

.aicp-options { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 4px; }
.aicp-option-btn {
    padding: 7px 14px; border-radius: 20px;
    border: 1px solid var(--aicp-primary, #0f7a5a); background: #fff; color: var(--aicp-primary, #0f7a5a);
    font-size: 13px; cursor: pointer; transition: .15s;
}
.aicp-option-btn:hover { background: var(--aicp-primary, #0f7a5a); color: #fff; }

.aicp-chat-footer { border-top: 1px solid #efefef; padding: 12px 15px; background: #fff; }
.aicp-input-row { display: flex; gap: 8px; }
.aicp-chat-input {
    flex: 1; padding: 10px 14px; border-radius: 22px;
    border: 1px solid #ddd; font-size: 14px; outline: none; transition: border .2s;
}
.aicp-chat-input:focus { border-color: var(--aicp-primary, #0f7a5a); }
.aicp-send-btn {
    padding: 10px 16px; border-radius: 22px; border: none;
    color: #fff; font-size: 16px; cursor: pointer; transition: opacity .2s;
}
.aicp-send-btn:hover { opacity: .88; }
.aicp-powered-by { text-align: center; font-size: 11px; color: #aaa; margin: 8px 0 0; }
