.sc-ai-assistant-launcher {
    align-items: center;
    background: #155eef;
    border: 0;
    border-radius: 999px;
    bottom: 1.25rem;
    box-shadow: 0 12px 32px rgb(15 23 42 / 24%);
    color: #fff;
    cursor: pointer;
    display: flex;
    font: inherit;
    font-weight: 700;
    gap: .45rem;
    min-height: 3rem;
    padding: .75rem 1rem;
    position: fixed;
    right: 1.25rem;
    z-index: 2147483000;
}

.sc-ai-assistant-launcher--offline { background: #b42318; }
.sc-ai-assistant-launcher--paused { background: #b54708; }
.sc-ai-assistant-indicator-dot { color: #75e0a7; font-size: .8rem; }
.sc-ai-assistant-launcher--offline .sc-ai-assistant-indicator-dot { color: #fecdca; }

.sc-ai-assistant-panel {
    background: #fff;
    border: 1px solid #d7dce5;
    border-radius: .9rem;
    bottom: 5rem;
    box-shadow: 0 20px 60px rgb(15 23 42 / 28%);
    color: #172033;
    container-type: size;
    display: grid;
    grid-template-rows: auto auto auto minmax(0, 1fr) auto auto;
    height: min(48rem, calc(100dvh - 7rem));
    max-height: calc(100dvh - 7rem);
    max-width: calc(100vw - 2rem);
    min-height: min(36rem, calc(100dvh - 7rem));
    min-width: min(24rem, calc(100vw - 2rem));
    overflow: hidden;
    position: fixed;
    right: 1.25rem;
    resize: both;
    width: min(44rem, calc(100vw - 2rem));
    z-index: 2147482999;
}

.sc-ai-assistant-panel,
.sc-ai-assistant-panel * { box-sizing: border-box; }
.sc-ai-assistant-panel[hidden] { display: none; }
.sc-ai-assistant-panel--expanded:not([hidden]) + .sc-ai-assistant-launcher { visibility: hidden; }
.sc-ai-assistant-panel--expanded { bottom: 1rem; height: calc(100dvh - 2rem); max-height: calc(100dvh - 2rem); min-height: 0; resize: none; right: 1rem; width: calc(100vw - 2rem); }
.sc-ai-assistant-panel :is(button, select, textarea, summary):focus-visible,
.sc-ai-assistant-attach:focus-within { outline: 3px solid #f79009; outline-offset: 2px; }
.sc-ai-assistant-header,
.sc-ai-assistant-toolbar,
.sc-ai-assistant-form { align-items: center; display: flex; gap: .6rem; padding: .8rem; }
.sc-ai-assistant-header { background: #0b3954; border-bottom: 1px solid #082f49; color: #fff; justify-content: space-between; }
.sc-ai-assistant-header > div:first-child { min-width: 0; }
.sc-ai-assistant-header strong { display: block; }
.sc-ai-assistant-header small { color: #cde7f5; }
.sc-ai-assistant-header-actions { align-items: center; display: flex; gap: .45rem; }
.sc-ai-assistant-toolbar { background: #f8fafc; border-bottom: 1px solid #e5e7eb; }
.sc-ai-assistant-toolbar select { flex: 1; min-width: 0; }
.sc-ai-assistant-close,
.sc-ai-assistant-expand,
.sc-ai-assistant-new { background: transparent; border: 1px solid #cbd5e1; border-radius: .45rem; cursor: pointer; font: inherit; padding: .35rem .55rem; }
.sc-ai-assistant-expand,
.sc-ai-assistant-close { border-color: rgb(255 255 255 / 38%); color: #fff; min-width: 2rem; }
.sc-ai-assistant-connector-control { background: #e7f8ef; border: 1px solid #75d3a7; border-radius: 999px; color: #075c3b; cursor: pointer; font: inherit; font-size: .78rem; font-weight: 800; padding: .35rem .65rem; }
.sc-ai-assistant-connector-control:disabled { cursor: wait; opacity: .6; }
.sc-ai-assistant-provider { background: #f8fafc; border-bottom: 1px solid #e5e7eb; font-size: .78rem; max-height: min(25dvh, 20cqh); overflow: auto; padding: .45rem .8rem; }
.sc-ai-assistant-provider-details summary { cursor: pointer; line-height: 1.5; }
.sc-ai-assistant-provider-settings { display: grid; gap: .5rem; padding: .6rem 0 .25rem; }
.sc-ai-assistant-provider-settings .sc-ai-assistant-connector-control { justify-self: start; }
.sc-ai-assistant-provider-choice { align-items: center; display: flex; flex-wrap: wrap; gap: .4rem; }
.sc-ai-assistant-provider-choice label { font-weight: 700; }
.sc-ai-assistant-provider-choice select { flex: 1; font: inherit; min-width: 9rem; }
.sc-ai-assistant-provider-status { color: #344054; font-weight: 700; margin: .35rem 0; }
.sc-ai-assistant-provider-next { color: #475467; margin: .3rem 0 0; }
.sc-ai-assistant-failure { background: #fff1f0; border: 1px solid #fda29b; border-radius: .4rem; color: #912018; margin: .5rem 0; padding: .5rem; }
.sc-ai-assistant-failure-explanation { margin: 0; }
.sc-ai-assistant-technical-details { font-size: .78rem; font-weight: 400; margin-top: .6rem; text-align: left; }
.sc-ai-assistant-technical-details summary { cursor: pointer; font-weight: 700; }
.sc-ai-assistant-technical-details dl { display: grid; gap: .25rem .6rem; grid-template-columns: auto minmax(0, 1fr); margin: .5rem 0 0; }
.sc-ai-assistant-technical-details dt { font-weight: 700; }
.sc-ai-assistant-technical-details dd { margin: 0; overflow-wrap: anywhere; }
.sc-ai-assistant-provider-choice[hidden],
.sc-ai-assistant-failure[hidden],
.sc-ai-assistant-provider button[hidden] { display: none; }
.sc-ai-assistant-provider button:disabled { cursor: not-allowed; opacity: .55; }
.sc-ai-assistant-initialization-error { background: #fff1f0; border: 1px solid #fda29b; border-radius: .5rem; bottom: 1rem; color: #912018; max-width: min(32rem, calc(100vw - 2rem)); padding: 1rem; position: fixed; right: 1rem; z-index: 2147483000; }
.sc-ai-assistant-initialization-error button { display: block; margin-top: .6rem; }
.sc-ai-assistant-messages { min-height: 0; min-width: 0; overflow-wrap: anywhere; overscroll-behavior: contain; display: flex; flex-direction: column; gap: .65rem; overflow: auto; padding: .9rem; }
.sc-ai-assistant-message { border-radius: .7rem; line-height: 1.45; margin: 0; max-width: 88%; padding: .65rem .75rem; }
.sc-ai-assistant-message p { margin: .3rem 0 0; white-space: pre-wrap; }
.sc-ai-assistant-message-role { display: block; font-size: .78rem; }
.sc-ai-assistant-message-files { font-size: .78rem; margin: .55rem 0 0; padding-left: 1.1rem; }
.sc-ai-assistant-message--user { align-self: flex-end; background: #155eef; color: #fff; }
.sc-ai-assistant-message--assistant { align-self: flex-start; background: #eef2f7; color: #172033; }
.sc-ai-assistant-empty,
.sc-ai-assistant-error { color: #667085; margin: auto; padding: 1rem; text-align: center; }
.sc-ai-assistant-error { color: #b42318; }
.sc-ai-assistant-status { color: #667085; font-size: .85rem; margin: -.35rem 0 0; }
.sc-ai-assistant-activity { border-top: 1px solid #e5e7eb; color: #667085; font-size: .78rem; margin: 0; padding: .35rem .8rem; }
.sc-ai-assistant-form { align-items: stretch; border-top: 1px solid #e5e7eb; display: grid; gap: .55rem; }
.sc-ai-assistant-form textarea { border: 1px solid #98a2b3; border-radius: .5rem; font: inherit; height: clamp(4rem, 14dvh, 7rem); line-height: 1.45; max-height: min(16rem, 30dvh, 25cqh); min-height: clamp(4rem, 14dvh, 7rem); padding: .65rem; resize: vertical; width: 100%; }
.sc-ai-assistant-form-actions { align-items: center; display: flex; gap: .55rem; }
.sc-ai-assistant-attach { background: #eef6ff; border: 1px solid #b2ddff; border-radius: .45rem; color: #175cd3; cursor: pointer; font-size: .82rem; font-weight: 700; padding: .55rem .65rem; }
.sc-ai-assistant-attach input { height: 1px; opacity: 0; position: absolute; width: 1px; }
.sc-ai-assistant-selected-files { color: #667085; flex: 1; font-size: .76rem; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.sc-ai-assistant-form button { background: #155eef; border: 0; border-radius: .5rem; color: #fff; cursor: pointer; font: inherit; font-weight: 700; padding: .7rem .85rem; }
.sc-ai-assistant-form button:disabled { cursor: not-allowed; opacity: .55; }

@media (max-width: 48rem), (max-height: 36rem) {
    .sc-ai-assistant-panel,
    .sc-ai-assistant-panel--expanded { border-radius: 0; bottom: 0; height: 100dvh !important; left: 0; max-height: 100dvh; max-width: 100vw; min-height: 0; min-width: 0; resize: none; right: 0; top: 0; width: 100vw !important; }
    .sc-ai-assistant-header, .sc-ai-assistant-toolbar, .sc-ai-assistant-form { padding: .6rem; }
    .sc-ai-assistant-form textarea { font-size: 1rem; }
    .sc-ai-assistant-launcher[aria-expanded="true"] { visibility: hidden; }
    .sc-ai-assistant-launcher { bottom: .75rem; right: .75rem; }
}

@media (max-height: 36rem) {
    .sc-ai-assistant-provider { max-height: 18dvh; }
    .sc-ai-assistant-form textarea { min-height: 3.5rem; max-height: 20dvh; }
}
