/* Dedicated AI pages only; the floating widget on other pages is unchanged. */
.kbt-ai-workspace {
    --ai-workspace-bg: var(--card-bg, #fff);
    --ai-workspace-surface: var(--surface, #f8fafc);
    --ai-workspace-ink: var(--text-color, #172033);
    --ai-workspace-muted: var(--text-muted, #526174);
    --ai-workspace-border: var(--border-color, #dbe2ea);
    box-sizing: border-box;
    width: 100%;
    min-width: 0;
    max-width: 100%;
    margin: 0 auto;
    padding: clamp(12px, 2vw, 24px);
    color: var(--ai-workspace-ink);
    background: var(--ai-workspace-bg);
    border: 1px solid var(--ai-workspace-border);
    border-radius: 16px;
    text-align: start;
    overflow-wrap: anywhere;
}
.kbt-ai-workspace *, .kbt-ai-workspace *::before, .kbt-ai-workspace *::after { box-sizing: border-box; }
.kbt-ai-workspace .kbt-ai-workspace-title { margin: 0 0 8px; font-size: clamp(1.05rem, 2vw, 1.3rem); color: var(--ai-workspace-ink); }
.kbt-ai-workspace-state { display: flex; align-items: center; flex-wrap: wrap; gap: 10px; margin-bottom: 12px; }
.kbt-ai-workspace .kbt-ai-workspace-status { margin: 0; color: var(--ai-workspace-muted); font-size: .9rem; }
.kbt-ai-workspace-retry { min-height: 44px; padding: 9px 16px; border: 1px solid currentColor; border-radius: 8px; background: var(--ai-workspace-surface); color: var(--ai-workspace-ink); font: inherit; cursor: pointer; }
.kbt-ai-workspace-retry[hidden] { display: none; }
.kbt-ai-workspace-retry:focus-visible { outline: 3px solid #0ea5e9; outline-offset: 3px; }
.kbt-ai-workspace-mount { width: 100%; min-width: 0; min-height: 560px; }
.kbt-ai-workspace[data-ai-state="error"] .kbt-ai-workspace-mount { min-height: 0; }
.kbt-ai-workspace[data-ai-state="error"] .kbt-ai-workspace-status { color: var(--ai-workspace-ink); }
.kbt-ai-workspace .kbt-ai-workspace-privacy, .kbt-ai-workspace-noscript { margin: 12px 0 0; color: var(--ai-workspace-muted); font-size: .85rem; line-height: 1.5; }
.kbt-ai-workspace-privacy a { color: var(--primary-color, #0369a1); text-decoration: underline; }
/* The existing positionWindow() continues to run. Its inline floating geometry
   is overridden only on this dedicated, mounted copy of the same widget. */
.kbt-ai-workspace #kbtChatWindow {
    position: relative !important;
    inset: auto !important;
    top: auto !important;
    right: auto !important;
    bottom: auto !important;
    left: auto !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    height: 560px !important;
    max-height: 560px !important;
    margin: 0 !important;
    transform: none !important;
    transform-origin: center !important;
    z-index: auto;
    border: 1px solid var(--ai-workspace-border);
    border-radius: 12px;
    background: var(--ai-workspace-bg);
    box-shadow: none;
    transition: none;
}
body.kbt-ai-workspace-mounted #kbtChatBtn { display: none !important; }
.kbt-ai-workspace[data-ai-state="ready"] :is(#kbtChatClose, #kbtGreeterCollapse) { display: none !important; }
.kbt-ai-workspace #kbtChatHeader { cursor: default; flex-shrink: 0; }
.kbt-ai-workspace .kbt-chat-header-info { min-width: 0; }
.kbt-ai-workspace .kbt-chat-header-actions { flex-shrink: 0; }
.kbt-ai-workspace .kbt-chat-messages { min-width: 0; min-height: 0; overscroll-behavior: contain; }
.kbt-ai-workspace :is(.kbt-msg, .kbt-msg a, .kbt-msg code) { overflow-wrap: anywhere; }
.kbt-ai-workspace .kbt-msg p, .kbt-ai-workspace .kbt-msg em {
    color: inherit !important;
    font-size: inherit !important;
    line-height: inherit !important;
}
.kbt-ai-workspace .kbt-msg em { font-style: italic; }
.kbt-ai-workspace .kbt-msg pre { max-width: 100%; overflow-x: auto; }
.kbt-ai-workspace .kbt-chat-input-row { min-width: 0; }
.kbt-ai-workspace #kbtChatInput { min-width: 0; width: 100%; font-size: 16px; }
.kbt-ai-workspace .kbt-chip { max-width: 100%; white-space: normal; text-align: start; overflow-wrap: anywhere; }
.kbt-ai-workspace .kbt-lang-dropdown { max-width: min(270px, calc(100vw - 72px)); }
.kbt-ai-workspace .kbt-lang-dropdown:not(.open) { visibility: hidden; }
.kbt-ai-workspace .kbt-lang-dropdown.open { visibility: visible; }
html.dark-theme .kbt-ai-workspace, [data-theme="dark"] .kbt-ai-workspace {
    --ai-workspace-bg: #172033;
    --ai-workspace-surface: #223047;
    --ai-workspace-ink: #e5edf7;
    --ai-workspace-muted: #b1bfd1;
    --ai-workspace-border: #3b4b62;
    --card-bg: #172033;
    --surface: #223047;
    --text-color: #e5edf7;
    --text-muted: #b1bfd1;
    --border-color: #3b4b62;
}
@media (max-width: 480px) {
    .kbt-ai-workspace { padding: 10px; border-radius: 10px; }
    .kbt-ai-workspace #kbtChatHeader { padding: 10px 8px; gap: 6px; }
    .kbt-ai-workspace .kbt-chat-header-info { gap: 6px; }
    .kbt-ai-workspace .kbt-chat-header-info > img { width: 30px; height: 30px; }
    .kbt-ai-workspace .kbt-chat-header-name { font-size: .82rem; overflow-wrap: anywhere; }
    .kbt-ai-workspace .kbt-chat-header-status { font-size: .7rem; }
    .kbt-ai-workspace .kbt-chat-header-actions { gap: 4px; }
    .kbt-ai-workspace .kbt-lang-btn { max-width: 112px; padding-inline: 7px; white-space: normal; overflow-wrap: anywhere; }
    .kbt-ai-workspace .kbt-chat-input-row { padding: 8px; gap: 6px; }
    .kbt-ai-workspace #kbtChatInput { padding-inline: 10px; }
    .kbt-ai-workspace .kbt-chat-send { flex-shrink: 0; }
}
