.aicb-widget {
    all: initial;
    --aicb-primary-color: #B91C6B;
    --aicb-background-color: #EFEFF0;
    --aicb-button-color: #B91C6B;
    --aicb-content-text: #161526;
    --aicb-button-text: #FFFFFF;
    --aicb-font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, system-ui, sans-serif;
    --aicb-button-radius: 24px;
    position: fixed;
    right: max(16px, env(safe-area-inset-right));
    bottom: max(16px, env(safe-area-inset-bottom));
    z-index: 99998;
    width: 360px;
    max-width: calc(100vw - 32px);
    font: 14px/1.5 var(--aicb-font-family);
    color: #161526;
    text-align: start;
    direction: inherit;
    isolation: isolate;
    pointer-events: none;
}
/* Reset common theme element rules only inside the widget. */
.aicb-widget :where(section, header, div, footer, p, h2, button, input, span, label, a) {
    all: revert;
    box-sizing: border-box;
    font-family: inherit;
}
.aicb-widget, .aicb-widget *, .aicb-widget *::before, .aicb-widget *::after { box-sizing: border-box; }
.aicb-widget [hidden] { display: none !important; }
.aicb-widget .aicb-panel {
    display: flex;
    flex-direction: column;
    width: 100%;
    max-height: calc(100vh - 140px);
    max-height: calc(100dvh - 140px);
    overflow: auto;
    margin: 0 0 12px;
    padding: 0;
    background: var(--aicb-background-color);
    border: 1px solid #aab4c4;
    border-top: 4px solid var(--aicb-primary-color);
    border-radius: 16px;
    box-shadow: 0 8px 32px #16152626;
    pointer-events: auto;
}
.aicb-widget .aicb-header { display: flex; flex: none; align-items: center; justify-content: space-between; gap: 12px; padding: 12px 16px; margin: 0; background: #fff; }
.aicb-widget .aicb-header h2 { margin: 0; padding: 0; font: 600 18px/1.4 var(--aicb-font-family); color: #161526; overflow-wrap: anywhere; }
.aicb-widget .aicb-close { flex: none; width: 44px; min-height: 44px; padding: 0; margin: 0; border: 1px solid #aab4c4; border-radius: 8px; background: #fff; color: #161526; font: 24px/1 var(--aicb-font-family); cursor: pointer; }
.aicb-widget .aicb-body { display: block; min-height: 0; overflow: auto; }
.aicb-widget .aicb-content { display: block; padding: 16px; min-height: 100px; background: var(--aicb-background-color); color: var(--aicb-content-text); }
.aicb-widget .aicb-content p { margin: 0; padding: 0; font: inherit; color: inherit; white-space: pre-wrap; overflow-wrap: anywhere; }
.aicb-widget .aicb-composer { display: block; padding: 12px 16px; background: #fff; color: #161526; }
.aicb-widget .aicb-status { margin: 0 0 8px; padding: 0; font: 14px/1.5 var(--aicb-font-family); color: #465269; }
.aicb-widget .aicb-input-label { display: block; margin: 0 0 4px; font: 600 13px/1.5 var(--aicb-font-family); color: #161526; }
.aicb-widget .aicb-input-row { display: flex; flex-wrap: wrap; gap: 8px; }
.aicb-widget .aicb-input { flex: 1 1 160px; min-width: 0; width: 100%; min-height: 44px; padding: 10px; margin: 0; border: 1px solid #aab4c4; border-radius: 8px; font: 16px/1.4 var(--aicb-font-family); }
.aicb-widget .aicb-send { max-width: 100%; min-height: 44px; padding: 10px 14px; margin: 0; border: 1px solid #aab4c4; border-radius: 8px; font: 14px/1.5 var(--aicb-font-family); overflow-wrap: anywhere; }
.aicb-widget .aicb-input:disabled, .aicb-widget .aicb-send:disabled { opacity: 1; color: #465269; background: #EFEFF0; cursor: not-allowed; box-shadow: none; }
.aicb-widget .aicb-input::placeholder { color: #465269; opacity: 1; }
.aicb-widget .aicb-privacy { margin: 10px 0 0; padding: 0; color: #465269; font: 12px/1.5 var(--aicb-font-family); white-space: pre-wrap; overflow-wrap: anywhere; }
.aicb-widget .aicb-branding { flex: none; display: block; margin: 0; padding: 10px 16px; background: #fff; color: #465269; font: 12px/1.5 var(--aicb-font-family); border-top: 1px solid #d9dee7; }
.aicb-widget .aicb-branding a { color: #A82364; font: inherit; text-decoration: underline; }
.aicb-widget .aicb-launcher { display: block; margin: 0 0 0 auto; padding: 14px 18px; min-height: 48px; max-width: 100%; font: 14px/1.5 var(--aicb-font-family); background: var(--aicb-button-color); color: var(--aicb-button-text); border: 1px solid #465269; border-radius: var(--aicb-button-radius); cursor: pointer; pointer-events: auto; }
.aicb-widget .aicb-launcher span { color: inherit; font: inherit; }
.aicb-widget .aicb-launcher:hover, .aicb-widget .aicb-close:hover { box-shadow: 0 2px 8px #16152640; }
.aicb-widget .aicb-launcher:active { box-shadow: inset 0 2px 4px #16152640; }
.aicb-widget button:focus-visible, .aicb-widget a:focus-visible { outline: 3px solid #161526; outline-offset: 3px; box-shadow: 0 0 0 6px #fff; }
@media (max-width: 480px) { .aicb-widget { right: max(12px, env(safe-area-inset-right)); bottom: max(12px, env(safe-area-inset-bottom)); max-width: calc(100vw - 24px); } }
