/* ai/+.css */
body {
    --maxsim-ai-accent: var(--maxsim-ai);
    --maxsim-ai-border: color-mix(in srgb, var(--maxsim-ai-accent) 34%, var(--maxsim-control-border) 66%);
    --maxsim-ai-border-strong: color-mix(in srgb, var(--maxsim-ai-accent) 58%, var(--maxsim-control-border) 42%);
    --maxsim-ai-fill-soft: color-mix(in srgb, var(--maxsim-ai-accent) 10%, transparent);
    --maxsim-ai-fill-solid-hover: color-mix(in srgb, var(--maxsim-ai-accent) 88%, black 12%);
    --maxsim-ai-fill-solid-active: color-mix(in srgb, var(--maxsim-ai-accent) 82%, black 18%);
    --maxsim-ai-focus-ring: color-mix(in srgb, var(--maxsim-ai-accent) 20%, transparent);
    --maxsim-ai-focus-ring-strong: color-mix(in srgb, var(--maxsim-ai-accent) 28%, transparent);
    --maxsim-ai-text-accent: color-mix(in srgb, var(--maxsim-ai-accent) 86%, var(--maxsim-text) 14%);
}

body .form-select,
body select,
body #ai_chat_container_select,
body #ai_chat_channel_select {
    border-color: var(--maxsim-ai-border);
}

body .form-select,
body select {
    border-right-color: var(--maxsim-ai-border-strong);
}

body .form-select:hover,
body select:hover,
body #ai_chat_container_select:hover,
body #ai_chat_channel_select:hover {
    border-color: var(--maxsim-ai-border-strong);
}

body .form-select:focus,
body select:focus,
body #ai_chat_container_select:focus,
body #ai_chat_channel_select:focus,
html body.template-dark #ai_chat_container_select:focus,
html body.template-dark #ai_chat_channel_select:focus {
    border-color: var(--maxsim-ai-border-strong);
    box-shadow: 0 0 0 .25rem var(--maxsim-ai-focus-ring);
}

body .form-switch .form-check-input[type='checkbox'][role='switch'],
body input.form-check-input[type='checkbox'][role='switch'] {
    --maxsim-switch-track-on: var(--maxsim-ai-accent);
    border-color: color-mix(in srgb, var(--maxsim-ai-accent) 28%, var(--maxsim-control-border) 72%);
}

body .form-switch .form-check-input[type='checkbox'][role='switch']:checked,
body input.form-check-input[type='checkbox'][role='switch']:checked {
    border-color: var(--maxsim-ai-border-strong);
    background-color: var(--maxsim-ai-accent);
    background-image: radial-gradient(circle, var(--maxsim-switch-knob) 0 54%, transparent 56%);
    background-repeat: no-repeat;
    background-size: 1.05em 1.05em;
    background-position: right 0.16em center;
}

body .form-switch .form-check-input[type='checkbox'][role='switch']:focus,
body input.form-check-input[type='checkbox'][role='switch']:focus {
    border-color: var(--maxsim-ai-border-strong);
    box-shadow: 0 0 0 3px var(--maxsim-ai-focus-ring), inset 0 1px 2px rgba(15, 23, 42, .10);
}

body .btn.btn-primary:not(#ai_chat_send),
body .btn.btn-purple {
    --bs-btn-bg: var(--maxsim-ai-accent);
    --bs-btn-border-color: var(--maxsim-ai-accent);
    --bs-btn-hover-bg: var(--maxsim-ai-fill-solid-hover);
    --bs-btn-hover-border-color: var(--maxsim-ai-fill-solid-hover);
    --bs-btn-active-bg: var(--maxsim-ai-fill-solid-active);
    --bs-btn-active-border-color: var(--maxsim-ai-fill-solid-active);
    --bs-btn-disabled-bg: color-mix(in srgb, var(--maxsim-ai-accent) 48%, transparent);
    --bs-btn-disabled-border-color: color-mix(in srgb, var(--maxsim-ai-accent) 48%, transparent);
    --bs-btn-color: #ffffff;
    --bs-btn-hover-color: #ffffff;
    --bs-btn-active-color: #ffffff;
    --bs-btn-disabled-color: #ffffff;
}

body .btn.btn-outline-primary {
    --bs-btn-color: var(--maxsim-ai-accent);
    --bs-btn-border-color: var(--maxsim-ai-border-strong);
    --bs-btn-hover-bg: var(--maxsim-ai-accent);
    --bs-btn-hover-border-color: var(--maxsim-ai-accent);
    --bs-btn-hover-color: #ffffff;
    --bs-btn-active-bg: var(--maxsim-ai-fill-solid-active);
    --bs-btn-active-border-color: var(--maxsim-ai-fill-solid-active);
    --bs-btn-active-color: #ffffff;
    --bs-btn-disabled-color: color-mix(in srgb, var(--maxsim-ai-accent) 62%, var(--maxsim-text-muted) 38%);
    --bs-btn-disabled-border-color: color-mix(in srgb, var(--maxsim-ai-accent) 36%, transparent);
}

body .btn.btn-primary:not(#ai_chat_send):focus-visible,
body .btn.btn-outline-primary:focus-visible,
body .btn.btn-purple:focus-visible {
    box-shadow: 0 0 0 .25rem var(--maxsim-ai-focus-ring-strong);
}

body #ai_chat_new_chat,
body #ai_chat_projects_toggle,
body #ai_chat_sidebar_close,
body .ai_chat_jump_button,
body #ai_chat_image_clear {
    border-color: var(--maxsim-ai-border);
}

body #ai_chat_new_chat:hover,
body #ai_chat_new_chat:focus-visible,
body #ai_chat_projects_toggle:hover,
body #ai_chat_projects_toggle:focus-visible,
body #ai_chat_sidebar_close:hover,
body #ai_chat_sidebar_close:focus-visible,
body .ai_chat_jump_button:hover,
body .ai_chat_jump_button:focus-visible,
body #ai_chat_image_clear:hover,
body #ai_chat_image_clear:focus-visible {
    background: var(--maxsim-ai-fill-soft);
    border-color: var(--maxsim-ai-border-strong);
    color: var(--maxsim-ai-text-accent);
}

body .ai_chat_tab.is_active {
    background: var(--maxsim-ai-fill-soft);
    border-color: var(--maxsim-ai-border-strong);
    color: var(--maxsim-ai-text-accent);
}

html body.template-dark #ai_chat_send_ai.btn-purple {
    border-color: color-mix(in srgb, var(--maxsim-ai-accent) 52%, transparent);
    background: linear-gradient(180deg, color-mix(in srgb, var(--maxsim-ai-accent) 82%, white 18%) 0%, var(--maxsim-ai-accent) 100%);
    color: #ffffff;
}

html body.template-dark #ai_chat_send_ai.btn-purple:hover,
html body.template-dark #ai_chat_send_ai.btn-purple:focus-visible {
    border-color: color-mix(in srgb, var(--maxsim-ai-accent) 64%, transparent);
    background: linear-gradient(180deg, color-mix(in srgb, var(--maxsim-ai-accent) 74%, white 26%) 0%, color-mix(in srgb, var(--maxsim-ai-accent) 88%, black 12%) 100%);
    color: #ffffff;
}

html body.template-dark #ai_chat_send_ai:disabled {
    background: color-mix(in srgb, var(--maxsim-ai-accent) 46%, transparent);
    border-color: color-mix(in srgb, var(--maxsim-ai-accent) 46%, transparent);
    color: color-mix(in srgb, var(--maxsim-ai-accent) 28%, white 72%);
}

body #ai-submenu {
    --maxsim-submenu-accent: var(--maxsim-ai-accent);
    --maxsim-submenu-hover-bg: color-mix(in srgb, var(--maxsim-ai-accent) 9%, transparent);
    --maxsim-submenu-hover-link: var(--maxsim-ai-text-accent);
    --maxsim-submenu-active-bg: var(--maxsim-ai-accent);
}

body #ai-submenu .maxsim-submenu-link {
    font-size: 0.92rem;
    letter-spacing: 0.01em;
}

body #ai-submenu .maxsim-submenu-link.is-active {
    box-shadow: 0 4px 14px color-mix(in srgb, var(--maxsim-ai-accent) 30%, transparent);
}

/* ai/chat/+main_01_layout.css */
#ai_chat_app {
    display: flex;
    position: relative;
    width: 100%;
    max-width: 100%;
    min-width: 0;
    height: calc(var(--maxsim-app-height, 100dvh) - 20px);
    min-height: calc(var(--maxsim-app-height, 100dvh) - 20px);
    border: 0;
    border-radius: 0;
    overflow: hidden;
    background: #fff;
    box-shadow: none;
}

#ai_chat_main {
    flex: 1;
    min-width: 0;
    max-width: 100%;
    display: flex;
    flex-direction: column;
    position: relative;
}

#ai_chat_body {
    flex: 1;
    min-height: 0;
    display: flex;
    min-width: 0;
    max-width: 100%;
    position: relative;
}

@media (max-width: 900px) {
body.has_shell_nav {
            --maxsim-mobile-nav-button-size: 40px;
            --maxsim-mobile-nav-gap: 6px;
        
    }
    
    body.has_shell_nav #content {
            height: var(--maxsim-app-height);
            min-height: var(--maxsim-app-height);
            overflow: hidden;
            padding: calc(var(--maxsim-safe-top) + var(--maxsim-mobile-nav-gap)) calc(var(--maxsim-safe-right) + var(--maxsim-mobile-nav-gap)) calc(var(--maxsim-safe-bottom) + var(--maxsim-mobile-nav-gap)) calc(var(--maxsim-safe-left) + var(--maxsim-mobile-nav-gap));
        
    }
    
    body.has_shell_nav #content > #ai_chat_app {
            height: 100%;
            min-height: 0;
        
    }
    
    #ai_chat_app {
            height: 100%;
            min-height: 0;
            border-radius: 12px;
        
    }
}

@media (max-width: 560px) {
#ai_chat_app {
            border-radius: 10px;
        
    }
}

@media (max-width: 900px) {
#ai_chat_app {
            --ai-chat-mobile-top-row-height: 40px;
        
    }
}

#content:has(> #ai_chat_app) {
    padding: 0;
}

#content:has(> #ai_chat_app) > #ai_chat_app {
    height: var(--maxsim-app-height, 100dvh);
    min-height: var(--maxsim-app-height, 100dvh);
}

@media (max-width: 900px) {
body.has_shell_nav #content:has(> #ai_chat_app) {
            padding: var(--maxsim-safe-top) var(--maxsim-safe-right) var(--maxsim-safe-bottom) var(--maxsim-safe-left);
        
    }
    
    body.has_shell_nav #content:has(> #ai_chat_app) > #ai_chat_app {
            height: 100%;
            min-height: 0;
            border-radius: 0;
        
    }
}

/* ai/chat/+main_02_sidebar.css */
#ai_chat_sidebar_backdrop,
#ai_chat_sidebar_header {
    display: none;
}

#ai_chat_sidebar {
    width: 250px;
    min-width: 250px;
    border-right: 1px solid #d6dce6;
    background: #f7f9fc;
    display: flex;
    flex-direction: column;
}

#ai_chat_sidebar_scroll {
    overflow-y: auto;
    flex: 1;
    padding: 12px;
}

#ai_chat_sidebar_scroll #ai_chat_container_wrap,
#ai_chat_sidebar_scroll #ai_chat_channel_wrap,
#ai_chat_sidebar_scroll #ai_chat_agent_wrap {
    width: 100%;
}

#ai_chat_primary_filters {
    gap: 0;
    /* The card owns the rounded outline; its full-width list stays inside it. */
    overflow: hidden;
}

#ai_chat_primary_filters #ai_chat_channel_agent_row {
    display: flex;
    align-items: flex-start;
    gap: 8px;
    min-width: 0;
    margin-top: var(--ai-chat-filter-padding-y);
}

#ai_chat_primary_filters #ai_chat_channel_agent_row #ai_chat_channel_wrap,
#ai_chat_primary_filters #ai_chat_channel_agent_row #ai_chat_agent_wrap {
    flex: 1 1 0;
    width: auto;
    min-width: 0;
}

.ai_chat_filter_row {
    display: grid;
    grid-template-columns: 96px minmax(0, 1fr);
    align-items: center;
    gap: 10px;
    min-width: 0;
}

.ai_chat_filter_row_label {
    color: #475569;
    font-size: 12px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: .06em;
}

#ai_chat_web_wrap {
    display: flex;
    align-items: center;
    width: 100%;
    min-width: 0;
    max-width: 100%;
    height: 30px;
    min-height: 30px;
    max-height: 30px;
    overflow: hidden;
    margin: 0 0 8px 0;
    padding: 0 2px;
}

#ai_chat_web_wrap #ai_chat_web_link,
#ai_chat_web_wrap #ai_chat_web_empty {
    flex: 1 1 auto;
    width: 100%;
}

#ai_chat_web_link,
#ai_chat_web_empty {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 0;
    max-width: 100%;
    min-height: 0;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    font-size: 13px;
    font-weight: 700;
    line-height: 1.25;
    text-align: center;
}

#ai_chat_web_link {
    color: #0d6efd;
    text-decoration: none;
}

#ai_chat_web_link:hover {
    color: #0f172a;
}

#ai_chat_web_link:focus-visible {
    border-radius: 8px;
    box-shadow: 0 0 0 3px rgba(111, 66, 193, .10);
    outline: none;
}

#ai_chat_web_link[hidden],
#ai_chat_web_empty[hidden] {
    display: none;
}

#ai_chat_web_link_host,
#ai_chat_web_empty {
    display: block;
    font-size: 24px;
    line-height: 1.25;
    width: auto;
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    text-align: center;
}

#ai_chat_web_link_host {
    max-width: 100%;
    font-family: var(--maxsim-font-monospace);
}

.ai_chat_filter_group {
    --ai-chat-filter-padding-y: 8px;
    --ai-chat-filter-padding-x: 10px;
    display: flex;
    flex-direction: column;
    gap: 8px;
    padding: var(--ai-chat-filter-padding-y) var(--ai-chat-filter-padding-x);
    border: 1px solid #d6dce6;
    border-radius: 14px;
    background: #fff;
}

.ai_chat_filter_group + .ai_chat_filter_group {
    margin-top: 14px;
}

#ai_chat_groups_header {
    display: flex;
    align-items: center;
    gap: 10px;
    /* Share the card's outer top/right edges and corner, including its border. */
    margin: calc(-1px - var(--ai-chat-filter-padding-y)) calc(-1px - var(--ai-chat-filter-padding-x)) 0 0;
    border-top-right-radius: inherit;
}

#ai_chat_groups_list {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.ai_chat_group_item {
    width: 100%;
    position: relative;
    --ai_chat_group_chip_bg: #ffffff;
    border: 1px solid #d6dce6;
    border-radius: 12px;
    background: #fff;
    display: flex;
    align-items: flex-start;
    gap: 8px;
    padding: 6px 8px;
    color: #0f172a;
    transition: border-color .15s ease, background .15s ease, box-shadow .15s ease;
}

.ai_chat_group_item:hover {
    border-color: #bfd0ef;
    background: #edf3ff;
}

.ai_chat_group_item.is_active {
    border-color: #cdb8f7;
    background: #f5f0ff;
    box-shadow: inset 0 0 0 1px #dccdf8;
}

.ai_chat_group_main {
    flex: 1;
    min-width: 0;
    border: 0;
    background: transparent;
    text-align: left;
    padding: 2px 4px;
    color: inherit;
    cursor: pointer;
}

.ai_chat_group_menu_button {
    border: 0;
    background: var(--ai_chat_group_chip_bg, #ffffff);
    color: #64748b;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    position: absolute;
    top: 3px;
    right: 3px;
    z-index: 2;
    width: 26px;
    min-width: 26px;
    height: 20px;
    flex-shrink: 0;
    border-radius: 999px;
    font-size: 16px;
    font-weight: 700;
    line-height: 1;
    cursor: pointer;
    touch-action: manipulation;
    opacity: 0;
    pointer-events: none;
    box-shadow: 0 1px 3px rgba(15, 23, 42, .18);
    transition: opacity .15s ease, background .15s ease, color .15s ease;
}

.ai_chat_group_menu_button:disabled {
    opacity: .55;
    cursor: wait;
    pointer-events: none;
}

.ai_chat_group_item:hover .ai_chat_group_menu_button,
.ai_chat_group_item:focus-within .ai_chat_group_menu_button {
    opacity: 1;
    pointer-events: auto;
}

.ai_chat_group_item.is_editing .ai_chat_group_menu_button {
    opacity: 0;
    pointer-events: none;
}

.ai_chat_group_item.is_deleting {
    opacity: .72;
}

.ai_chat_group_menu_button:hover {
    background: #ece7fb;
    color: #6f42c1;
}

/* The options chip overlays the title without reserving any horizontal space. */

.ai_chat_group_content {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    width: 100%;
    gap: 0;
}

.ai_chat_group_title_row {
    display: flex;
    align-items: flex-start;
    min-width: 0;
    width: 100%;
    gap: 6px;
}

.ai_chat_group_state_dot {
    --ai-chat-group-dot-rgb: 139, 92, 246;
    flex: 0 0 auto;
    width: 8px;
    height: 8px;
    margin-top: 5px;
    border-radius: 999px;
    background: rgb(var(--ai-chat-group-dot-rgb));
    animation: ai_chat_group_state_dot_blink 1.8s ease-in-out infinite;
}

.ai_chat_group_item.is_ai_ready .ai_chat_group_state_dot {
    --ai-chat-group-dot-rgb: 22, 163, 74;
}

.ai_chat_group_title {
    display: block;
    flex: 1 1 auto;
    min-width: 0;
    max-width: 100%;
    color: #0f172a;
    font-size: 13px;
    font-weight: 700;
    line-height: 1.3;
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
}

.ai_chat_group_title.is_placeholder {
    font-weight: 700;
}

.ai_chat_group_item.is_editing .ai_chat_group_title {
    display: none;
}

.ai_chat_group_title_input {
    width: 100%;
    border: 1px solid #cdb8f7;
    border-radius: 8px;
    padding: 4px 8px;
    color: #0f172a;
    font-size: 13px;
    font-weight: 700;
    line-height: 1.3;
    background: #fff;
}

#ai_chat_groups_search_wrap {
    display: flex;
    flex: 1 1 auto;
    min-width: 0;
    border-top-right-radius: inherit;
}

#ai_chat_groups_search {
    width: 100%;
    border: 1px solid #d6dce6;
    border-radius: 0 0 0 10px;
    border-top-right-radius: inherit;
    background: #f8fafc;
    color: #0f172a;
    font-size: 12.5px;
    line-height: 1.3;
    padding: 6px 10px;
    outline: none;
}

.ai_chat_group_bucket {
    color: #64748b;
    font-size: 10px;
    font-weight: 700;
    letter-spacing: .06em;
    text-transform: uppercase;
    padding: 4px 4px 0 4px;
}

.ai_chat_group_pin_icon {
    font-size: 10px;
    line-height: 1;
    flex-shrink: 0;
    margin-top: 4px;
}

.ai_chat_group_category_icon {
    --ai-chat-group-category-rgb: 100, 116, 139;
    flex: 0 0 auto;
    width: 9px;
    height: 9px;
    margin-top: 4px;
    border-radius: 2px;
    background: rgb(var(--ai-chat-group-category-rgb));
    box-shadow: inset 0 0 0 1px rgba(15, 23, 42, .18);
}

.ai_chat_group_category_icon.is_problem {
    --ai-chat-group-category-rgb: 220, 53, 69;
}

.ai_chat_group_category_icon.is_risk {
    --ai-chat-group-category-rgb: 253, 126, 20;
}

.ai_chat_group_category_icon.is_idea {
    --ai-chat-group-category-rgb: 234, 179, 8;
}

.ai_chat_group_category_icon.is_need {
    --ai-chat-group-category-rgb: 13, 110, 253;
}

.ai_chat_group_category_icon.is_feedback {
    --ai-chat-group-category-rgb: 111, 66, 193;
}

.ai_chat_group_item.is_pinned {
    border-color: #e3d9fb;
}

/* Report priority: four ascending bars, filled up to the level. */
.ai_chat_group_priority {
    --ai-chat-group-priority-rgb: 100, 116, 139;
    flex: 0 0 auto;
    display: inline-flex;
    align-items: flex-end;
    gap: 2px;
    height: 10px;
    margin: 3px 2px 0 0;
}

.ai_chat_group_priority i {
    display: block;
    width: 2px;
    border-radius: 1px;
    background: rgba(var(--ai-chat-group-priority-rgb), .22);
}

.ai_chat_group_priority i:nth-child(1) { height: 4px; }
.ai_chat_group_priority i:nth-child(2) { height: 6px; }
.ai_chat_group_priority i:nth-child(3) { height: 8px; }
.ai_chat_group_priority i:nth-child(4) { height: 10px; }

.ai_chat_group_priority i.is_on {
    background: rgb(var(--ai-chat-group-priority-rgb));
}

.ai_chat_group_priority.is_normal {
    --ai-chat-group-priority-rgb: 13, 110, 253;
}

.ai_chat_group_priority.is_high {
    --ai-chat-group-priority-rgb: 253, 126, 20;
}

.ai_chat_group_priority.is_critical {
    --ai-chat-group-priority-rgb: 220, 53, 69;
}

#ai_chat_group_menu {
    position: fixed;
    z-index: 4000;
    min-width: 190px;
    display: flex;
    flex-direction: column;
    gap: 2px;
    padding: 6px;
    border: 1px solid #d6dce6;
    border-radius: 12px;
    background: #fff;
    box-shadow: 0 12px 32px rgba(15, 23, 42, .16);
}

#ai_chat_group_menu[hidden] {
    display: none;
}

.ai_chat_group_menu_item {
    display: block;
    width: 100%;
    border: 0;
    border-radius: 8px;
    background: transparent;
    color: #0f172a;
    text-align: left;
    font-size: 12.5px;
    font-weight: 600;
    line-height: 1.3;
    padding: 7px 10px;
    cursor: pointer;
}

.ai_chat_group_menu_item:hover {
    background: #f1f5f9;
}

.ai_chat_group_menu_item.is_danger {
    color: #dc3545;
}

.ai_chat_group_menu_item.is_danger:hover {
    background: #ffe8eb;
}

#ai_chat_groups_empty {
    color: #64748b;
    font-size: 12px;
    line-height: 1.35;
}

#ai_chat_groups_more {
    display: block;
    min-height: 16px;
    color: #64748b;
    font-size: 12px;
    line-height: 16px;
    text-align: center;
}

#ai_chat_groups_more[hidden] {
    display: none;
}

#ai_chat_groups_more:not(.is_loading) {
    visibility: hidden;
}

.ai_chat_filter_title {
    color: #64748b;
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: .12em;
}

#ai_chat_projects_toggle,
#ai_chat_sidebar_close {
    border: 1px solid #d6dce6;
    border-radius: 12px;
    background: #fff;
    color: #0f172a;
    min-height: 44px;
    padding: 0 14px;
    font-size: 13px;
    font-weight: 700;
    line-height: 1;
}

#ai_chat_sidebar_header {
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 12px 14px;
    border-bottom: 1px solid #d6dce6;
    background: #fff;
}

#ai_chat_sidebar_close {
    width: 44px;
    min-width: 44px;
    padding: 0;
    font-size: 24px;
}

#ai_chat_container_wrap,
#ai_chat_channel_wrap,
#ai_chat_agent_wrap {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 4px;
    width: 100%;
    min-width: 0;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
}

#ai_chat_container_wrap .ai_chat_filter_row_label,
#ai_chat_channel_wrap .ai_chat_filter_row_label,
#ai_chat_agent_wrap .ai_chat_filter_row_label {
    display: block;
    width: 100%;
    margin: 0;
    line-height: 1.1;
}

#ai_chat_container_select,
#ai_chat_channel_select,
#ai_chat_agent_select {
    min-width: 0;
    width: 100%;
    min-height: 40px;
    border: 1px solid #d6dce6;
    border-radius: 10px;
    background: #fff;
    color: #111827;
    font-size: 13px;
    font-weight: 700;
    outline: none;
    padding: 0 12px;
}

#ai_chat_container_select:disabled,
#ai_chat_channel_select:disabled,
#ai_chat_agent_select:disabled {
    color: #94a3b8;
    cursor: not-allowed;
}

#ai_chat_container_select:focus,
#ai_chat_channel_select:focus,
#ai_chat_agent_select:focus {
    border-color: #cdb8f7;
    box-shadow: 0 0 0 3px rgba(111, 66, 193, .10);
}

@keyframes ai_chat_group_state_dot_blink {    0%, 100% { opacity: 1; box-shadow: 0 0 5px 1px rgba(var(--ai-chat-group-dot-rgb), .55); }
    50% { opacity: .3; box-shadow: 0 0 0 0 rgba(var(--ai-chat-group-dot-rgb), 0); }
}

@media (max-width: 900px) {
.ai_chat_group_menu_button {
            opacity: 1;
            pointer-events: auto;
        
    }
    
    #ai_chat_sidebar_header {
            display: flex;
        
    }
    
    #ai_chat_sidebar_backdrop {
            display: block;
        
    }
    
    #ai_chat_sidebar_backdrop {
            position: absolute;
            inset: 0;
            padding: 0;
            border: 0;
            background: rgba(15,23,42,.36);
            opacity: 0;
            pointer-events: none;
            transition: opacity .18s ease;
            z-index: 4;
        
    }
    
    #ai_chat_sidebar {
            position: absolute;
            inset: 0 auto 0 0;
            width: min(92vw, 380px);
            min-width: min(92vw, 380px);
            max-height: none;
            transform: translateX(-100%);
            transition: transform .22s ease;
            border-right: 1px solid #d6dce6;
            z-index: 5;
            box-shadow: 18px 0 36px rgba(15,23,42,.18);
        
    }
    
    #ai_chat_app.is_sidebar_open #ai_chat_sidebar {
            transform: translateX(0);
        
    }
    
    #ai_chat_app.is_sidebar_open #ai_chat_sidebar_backdrop {
            opacity: 1;
            pointer-events: auto;
        
    }
}

@media (max-width: 720px) {
#ai_chat_container_select,
    #ai_chat_channel_select,
    #ai_chat_agent_select {
     min-width: 0; width: 100%; 
    }
}

@media (max-width: 560px) {
#ai_chat_web_link_host,
    #ai_chat_web_empty {
            font-size: 18px;
            white-space: nowrap;
        
    }
    
    #ai_chat_web_link_host {
            display: block;
            -webkit-line-clamp: unset;
            -webkit-box-orient: initial;
        
    }
    
    .ai_chat_filter_row {
            grid-template-columns: 1fr;
            gap: 6px;
            align-items: stretch;
        
    }
    
    .ai_chat_filter_row_label {
            text-align: left;
        
    }
}

@media (max-width: 900px) {
#ai_chat_web_link_host,
    #ai_chat_web_empty {
            font-size: 20px;
        
    }
    
    #ai_chat_sidebar_backdrop {
            z-index: 10;
        
    }
    
    #ai_chat_sidebar {
            z-index: 11;
        
    }
}

@media (hover: none), (pointer: coarse) {
.ai_chat_group_menu_button {
            opacity: 1;
            pointer-events: auto;
            width: 32px;
            min-width: 32px;
            height: 24px;
        
    }
}

/* ai/chat/+main_03_palette.css */
#ai_chat_palette_open {
    border: 1px solid #d6dce6;
    border-radius: 8px;
    background: #f8fafc;
    color: #475569;
    font-size: 11px;
    font-weight: 700;
    line-height: 1;
    padding: 5px 8px;
    cursor: pointer;
}

#ai_chat_palette_open:hover {
    border-color: #bfd0ef;
    background: #edf3ff;
    color: #0f172a;
}

#ai_chat_palette {
    position: fixed;
    inset: 0;
    z-index: 3900;
    display: flex;
    align-items: flex-start;
    justify-content: center;
    padding: 12vh 16px 16px 16px;
    background: rgba(15, 23, 42, .38);
}

#ai_chat_palette[hidden] {
    display: none;
}

#ai_chat_palette_panel {
    width: 100%;
    max-width: 560px;
    display: flex;
    flex-direction: column;
    gap: 8px;
    border: 1px solid #d6dce6;
    border-radius: 16px;
    background: #fff;
    box-shadow: 0 24px 64px rgba(15, 23, 42, .30);
    padding: 10px;
}

#ai_chat_palette_input {
    width: 100%;
    border: 1px solid #d6dce6;
    border-radius: 10px;
    background: #f8fafc;
    color: #0f172a;
    font-size: 14px;
    line-height: 1.3;
    padding: 9px 12px;
    outline: none;
}

#ai_chat_palette_input:focus {
    border-color: #cdb8f7;
    background: #fff;
    box-shadow: 0 0 0 3px rgba(111, 66, 193, .12);
}

#ai_chat_palette_list {
    display: flex;
    flex-direction: column;
    gap: 2px;
    max-height: 50vh;
    overflow-y: auto;
}

.ai_chat_palette_item {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 2px;
    width: 100%;
    border: 0;
    border-radius: 10px;
    background: transparent;
    text-align: left;
    padding: 8px 10px;
    cursor: pointer;
    color: #0f172a;
}

.ai_chat_palette_item.is_active,
.ai_chat_palette_item:hover {
    background: #f5f0ff;
}

.ai_chat_palette_item_title {
    max-width: 100%;
    font-size: 13px;
    font-weight: 700;
    line-height: 1.3;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.ai_chat_palette_item_meta {
    max-width: 100%;
    color: #64748b;
    font-size: 11px;
    line-height: 1.3;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

#ai_chat_palette_empty {
    color: #64748b;
    font-size: 12px;
    padding: 6px 10px;
}

/* ai/chat/+main_04_header.css */
#ai_chat_header {
    display: none;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 12px 14px;
    border-bottom: 1px solid #d6dce6;
    background: #fff;
}

#ai_chat_projects_toggle {
    display: none;
}

#ai_chat_header_meta {
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 2px;
    text-align: right;
}

#ai_chat_header_title {
    min-width: 0;
    color: #0f172a;
    font-size: 14px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

#ai_chat_header_subtitle {
    color: #64748b;
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: .08em;
}

@media (max-width: 900px) {
#ai_chat_projects_toggle {
            display: inline-flex;
            align-items: center;
            justify-content: center;
            width: 52px;
            min-width: 52px;
            height: var(--maxsim-mobile-nav-button-size);
            min-height: var(--maxsim-mobile-nav-button-size);
            padding: 0;
            border-radius: 999px;
            font-size: 11px;
            letter-spacing: -.02em;
        
    }
    
    #ai_chat_header {
            min-height: calc(var(--maxsim-mobile-nav-button-size) + 2px);
            padding: 0 6px 2px calc(var(--maxsim-mobile-nav-button-size) + 6px);
            gap: 6px;
            align-items: flex-start;
            border-bottom: 0;
        
    }
    
    #ai_chat_header_meta {
            align-items: flex-end;
            gap: 0;
            margin-left: auto;
            max-width: calc(100% - 110px);
            padding-top: 2px;
        
    }
    
    #ai_chat_header_title {
            font-size: 13px;
            line-height: 1.12;
            max-width: min(52vw, 260px);
        
    }
    
    #ai_chat_header_subtitle {
            font-size: 10px;
            line-height: 1.1;
        
    }
}

@media (max-width: 720px) {
#ai_chat_header {
            padding: 0 6px 2px calc(var(--maxsim-mobile-nav-button-size) + 6px);
        
    }
    
    #ai_chat_header_meta {
            margin-left: auto;
        
    }
}

@media (max-width: 560px) {
#ai_chat_projects_toggle {
            width: 48px;
            min-width: 48px;
            font-size: 10px;
        
    }
    
    #ai_chat_header_title {
            max-width: min(48vw, 220px);
            font-size: 12px;
        
    }
    
    #ai_chat_header_subtitle {
            font-size: 9.5px;
        
    }
    
    #ai_chat_projects_toggle {
            padding: 0;
        
    }
}

@media (max-width: 900px) {
#ai_chat_header {
            display: flex;
            position: absolute;
            top: 0;
            left: 0;
            right: 0;
            z-index: 6;
            height: var(--ai-chat-mobile-top-row-height);
            min-height: var(--ai-chat-mobile-top-row-height);
            padding: 0 calc(80px + var(--maxsim-mobile-nav-gap)) 0 calc(var(--maxsim-mobile-nav-button-size) + 6px);
            gap: 4px;
            align-items: center;
            justify-content: flex-start;
            border-bottom: 0;
            background: linear-gradient(90deg, rgba(255, 255, 255, .84) 0%, rgba(255, 255, 255, .72) 72%, rgba(255, 255, 255, .58) 100%);
            box-shadow: 0 10px 22px rgba(15, 23, 42, .05);
            backdrop-filter: blur(10px);
            -webkit-backdrop-filter: blur(10px);
        
    }
    
    #ai_chat_header::after {
            content: '';
            position: absolute;
            left: 0;
            right: 0;
            bottom: -18px;
            height: 18px;
            pointer-events: none;
            background: linear-gradient(180deg, rgba(255, 255, 255, .42) 0%, rgba(255, 255, 255, 0) 100%);
        
    }
    
    #ai_chat_projects_toggle,
    #ai_chat_header_meta {
            position: relative;
            z-index: 1;
        
    }
    
    #ai_chat_header_meta {
            display: flex;
            flex: 1 1 auto;
            min-width: 0;
            max-width: none;
            margin-left: 0;
            padding-top: 0;
            align-items: flex-end;
            justify-content: center;
            text-align: right;
        
    }
    
    #ai_chat_header_title {
            max-width: 100%;
        
    }
}

@media (max-width: 720px) {
#ai_chat_header {
            padding-right: calc(76px + var(--maxsim-mobile-nav-gap));
        
    }
}

@media (max-width: 560px) {
#ai_chat_header {
            padding-right: calc(72px + var(--maxsim-mobile-nav-gap));
            padding-left: calc(var(--maxsim-mobile-nav-button-size) + 5px);
        
    }
}

/* ai/chat/+main_05_messages.css */
#ai_chat_messages_wrap {
    flex: 1;
    min-height: 0;
    min-width: 0;
    max-width: 100%;
    overflow: hidden;
    position: relative;
    display: flex;
    flex-direction: column;
}

#ai_chat_jump_controls {
    position: absolute;
    top: 8px;
    right: 14px;
    z-index: 4;
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 8px;
}

.ai_chat_jump_button {
    width: 36px;
    height: 36px;
    border: 1px solid #d6dce6;
    border-radius: 999px;
    background: rgba(255,255,255,.94);
    color: #334155;
    font-size: 16px;
    font-weight: 700;
    box-shadow: 0 8px 20px rgba(15,23,42,.08);
}

.ai_chat_jump_button:hover {
    background: #edf3ff;
    border-color: #bfd0ef;
    color: #0f172a;
}

.ai_chat_jump_button:disabled {
    opacity: .45;
    cursor: default;
    box-shadow: none;
}

#ai_chat_messages {
    flex: 1 1 auto;
    height: auto;
    min-height: 0;
    overflow-y: auto;
    overflow-x: hidden;
    min-width: 0;
    max-width: 100%;
    padding: 0 10px 0 18px;
    display: flex;
    flex-direction: column;
    background: #fff;
    overscroll-behavior: contain;
    -webkit-overflow-scrolling: touch;
}

#ai_chat_new_messages {
    position: absolute;
    left: 50%;
    bottom: 16px;
    z-index: 3;
    transform: translateX(-50%);
    border: 1px solid #2563eb;
    border-radius: 999px;
    background: #2563eb;
    box-shadow: 0 8px 20px rgba(37, 99, 235, .28);
    color: #fff;
    font-size: 12px;
    font-weight: 700;
    line-height: 1;
    padding: 9px 13px;
}

#ai_chat_new_messages:hover,
#ai_chat_new_messages:focus-visible {
    border-color: #1d4ed8;
    background: #1d4ed8;
}

#ai_chat_new_messages[hidden] {
    display: none;
}

.ai_chat_msg_row {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 2px;
    min-width: 0;
    max-width: 100%;
    font-size: 14px;
    line-height: 1.2;
    margin-bottom: 12px;
}

.ai_chat_msg_row:first-child {
 margin-top: auto; 
}

.ai_chat_msg_side {
    min-width: 0;
    width: 100%;
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    align-items: center;
    gap: 8px;
}

.ai_chat_msg_meta > .ai_chat_msg_time {
    flex: 0 0 auto;
    color: #64748b;
    font-family: var(--maxsim-font-monospace);
    font-size: 11px;
    line-height: 1.3;
    white-space: nowrap;
}

.ai_chat_msg_meta {
    display: none;
    flex: 1 1 auto;
    width: auto;
    min-width: 0;
    flex-direction: row;
    flex-wrap: nowrap;
    align-items: center;
    justify-content: flex-start;
    gap: 0;
    max-width: 100%;
    color: #64748b;
    font-family: var(--maxsim-font-monospace);
    font-size: 11px;
    line-height: 1.3;
    text-align: left;
    white-space: nowrap;
    overflow: hidden;
}

.ai_chat_msg_side:hover .ai_chat_msg_meta,
.ai_chat_msg_side:focus-within .ai_chat_msg_meta {
    display: flex;
}

.ai_chat_msg_meta:empty {
    display: none;
}

.ai_chat_msg_meta:not(:empty)::before {
    content: '·';
    margin: 0 8px 0 0;
    opacity: .5;
}

.ai_chat_msg_meta > * + *:not(.ai_chat_msg_delete)::before {
    content: '·';
    margin: 0 8px;
    opacity: .5;
}

.ai_chat_msg_meta > .ai_chat_msg_delete {
    /* Far right of the row: the auto margin absorbs the free space of the meta strip. */
    margin-left: auto;
    flex: 0 0 auto;
}

.ai_chat_msg_meta_mode {
    font-weight: 400;
}

.ai_chat_msg_meta_model {
    font-weight: 400;
}

.ai_chat_msg_meta_email {
    color: #64748b;
    font-weight: 400;
}

.ai_chat_msg_meta_log {
    color: #64748b;
    text-decoration: none;
}

.ai_chat_msg_meta_log:hover {
    text-decoration: underline;
}

.ai_chat_msg_meta_access.is_read_only {
    color: #64748b;
}

.ai_chat_msg_meta_access.is_write {
    color: #64748b;
}

.ai_chat_msg_delete {
    border: 0;
    background: transparent;
    color: #dc2626;
    font-size: 14px;
    font-weight: 700;
    line-height: 1;
    padding: 0;
    width: 24px;
    height: 16px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 999px;
    cursor: pointer;
    opacity: 1;
    pointer-events: auto;
    transition: opacity .15s ease, background .15s ease, color .15s ease;
}

.ai_chat_msg_delete:hover {
 background: #fee2e2; 
}

.ai_chat_msg_author {
    color: #334155;
    font-weight: 700;
    flex: 0 0 auto;
    min-width: 0;
    text-align: left;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.ai_chat_msg_row.is_user .ai_chat_msg_author {
    color: #2563eb;
}

.ai_chat_msg_author.is_ai {
    color: #6f42c1;
    white-space: nowrap;
    line-height: 1.2;
}

.ai_chat_msg_row.is_pending_ai .ai_chat_msg_author.is_ai {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 6px;
}

.ai_chat_msg_author_name {
    display: inline;
}

.ai_chat_msg_text {
    min-width: 0;
    max-width: 100%;
    color: #111827;
    word-break: break-word;
    overflow-wrap: anywhere;
}

.ai_chat_msg_row.is_editable .ai_chat_msg_text {
    cursor: text;
}

.ai_chat_msg_row.is_editable .ai_chat_msg_text:hover {
    border-radius: 10px;
}

.ai_chat_msg_editor_wrap {
    display: grid;
    width: 100%;
}

.ai_chat_msg_editor_wrap::after,
.ai_chat_msg_editor {
    grid-area: 1 / 1 / 2 / 2;
    min-width: 0;
    margin: 0;
    padding: 0;
    border: 0;
    font: inherit;
    line-height: inherit;
    letter-spacing: inherit;
    white-space: pre-wrap;
    word-break: break-word;
    overflow-wrap: anywhere;
}

.ai_chat_msg_editor_wrap::after {
    content: attr(data-value) ' ';
    visibility: hidden;
    pointer-events: none;
}

.ai_chat_msg_editor {
    display: block;
    width: 100%;
    height: 100%;
    resize: none;
    overflow: hidden;
    border-radius: 0;
    background: transparent;
    color: inherit;
    box-shadow: none;
    outline: none;
    cursor: text;
    caret-color: rgb(var(--ai-chat-primary-rgb, var(--ai-chat-accent-rgb, 29, 78, 216)));
}

.ai_chat_msg_row.is_saving .ai_chat_msg_text {
    opacity: .7;
}

.ai_chat_msg_text.is_ai,
.ai_chat_msg_text.is_system {
    border-radius: 12px;
    padding: 10px 12px;
    overflow-x: auto;
}

.ai_chat_msg_text.is_ai {
    background: #f5f0ff;
    border: 1px solid #dccdf8;
}

.ai_chat_msg_text.is_ai.is_mega {
    background: linear-gradient(180deg, #fffef7 0%, #fffbe6 100%);
    border-color: #f5e6b0;
}

.ai_chat_msg_text.is_system {
    background: #f8fafc;
    border: 1px solid #dbe3ee;
}

.ai_chat_msg_text p,
.ai_chat_msg_text pre,
.ai_chat_msg_text ul,
.ai_chat_msg_text ol,
.ai_chat_msg_text table,
.ai_chat_msg_text img,
.ai_chat_msg_text code {
    max-width: 100%;
}

.ai_chat_msg_text ol {
 margin: 0 0 10px 0; 
}

.ai_chat_msg_text pre {
    white-space: pre-wrap;
    overflow-x: auto;
}

.ai_chat_msg_text code {
    padding: 1px 6px;
    border: 1px solid #e3d5fb;
    border-radius: 6px;
    background: #ffffff;
    color: #be185d;
    font-family: var(--maxsim-font-monospace, SFMono-Regular, Menlo, Consolas, monospace);
    font-size: .88em;
    font-weight: 400;
    box-shadow: 0 1px 2px rgba(111, 66, 193, .08);
    -webkit-box-decoration-break: clone;
    box-decoration-break: clone;
}

.ai_chat_msg_text pre {
    margin: 8px 0;
    padding: 10px 12px;
    border: 1px solid #e2e8f0;
    border-radius: 10px;
    background: #f8fafc;
}

.ai_chat_msg_text pre code {
    padding: 0;
    border: 0;
    background: transparent;
    color: inherit;
    font-weight: 400;
    box-shadow: none;
}

.ai_chat_msg_attachment {
 margin: 0 0 8px 0; 
}

.ai_chat_msg_attachment img {
    display: block;
    max-width: min(100%, 420px);
    max-height: 320px;
    width: auto;
    height: auto;
    border: 1px solid #d6dce6;
    border-radius: 12px;
    background: #fff;
}

.ai_chat_msg_text.is_ai table {
    display: block;
    max-width: 100%;
    width: 100% !important;
    border-collapse: separate;
    border-spacing: 0;
    margin-top: 10px;
    border: 1px solid #dccdf8;
    border-radius: 10px;
    overflow-x: auto;
    overflow-y: hidden;
    white-space: nowrap;
    -webkit-overflow-scrolling: touch;
    background: #fff;
    font-family: var(--maxsim-font-monospace);
}

.ai_chat_msg_text.is_ai thead th {
    background: #ede3ff;
    color: #4c1d95;
    font-weight: 700;
    padding: 8px 16px;
    border-bottom: 1px solid #dccdf8;
    text-align: center;
}

.ai_chat_msg_text.is_ai td,
.ai_chat_msg_text.is_ai th {
    padding: 7px 16px;
    border-right: 1px solid #e5e7eb;
    border-bottom: 1px solid #e5e7eb;
    vertical-align: top;
}

.ai_chat_msg_text.is_ai td.is_wrap,
.ai_chat_msg_text.is_ai th.is_wrap {
    white-space: normal;
    overflow-wrap: anywhere;
    word-break: break-word;
}

.ai_chat_msg_text.is_ai tr:last-child td {
 border-bottom: 0; 
}

.ai_chat_msg_text.is_ai td:last-child,
.ai_chat_msg_text.is_ai th:last-child {
 border-right: 0; 
}

.ai_chat_msg_text h1,
.ai_chat_msg_text h2,
.ai_chat_msg_text h3,
.ai_chat_msg_text h4,
.ai_chat_msg_text h5,
.ai_chat_msg_text h6 {
    font-size: inherit;
    font-weight: 700;
    margin: 0.6em 0 0.2em 0;
    line-height: 1.3;
}

.ai_chat_msg_text h1 {
 font-size: 1.1em; 
}

.ai_chat_msg_text h2 {
 font-size: 1.05em; 
}

.ai_chat_msg_text h3 {
 font-size: 1em; 
}

.ai_chat_msg_text h4,
.ai_chat_msg_text h5,
.ai_chat_msg_text h6 {
 font-size: 0.95em; 
}

.ai_chat_msg_text.is_ai button[data-ai-chat-insert],
.ai_chat_msg_text.is_ai select[data-ai-chat-insert] {
    display: inline-flex;
    align-items: center;
    max-width: 100%;
    min-height: 30px;
    margin: 3px 5px 3px 0;
    padding: 5px 10px;
    border: 1px solid #cdb8f7;
    border-radius: 999px;
    background: #fff;
    color: #4c1d95;
    font-size: 12px;
    font-weight: 800;
    line-height: 1.2;
    vertical-align: baseline;
    cursor: pointer;
    box-shadow: 0 5px 14px rgba(111, 66, 193, .08);
    transition: background .15s ease, border-color .15s ease, color .15s ease, box-shadow .15s ease, transform .15s ease;
}

.ai_chat_msg_text.is_ai label:has(input[data-ai-chat-insert]) {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    width: auto;
    max-width: 100%;
    min-width: 0;
    min-height: 30px;
    margin: 3px 5px 3px 0;
    padding: 5px 10px;
    border: 1px solid #cdb8f7;
    border-radius: 999px;
    background: #fff;
    color: #4c1d95;
    font-size: 12px;
    font-weight: 800;
    line-height: 1.2;
    white-space: normal;
    word-break: normal;
    overflow-wrap: break-word;
    vertical-align: baseline;
    cursor: pointer;
    box-shadow: 0 5px 14px rgba(111, 66, 193, .08);
    transition: background .15s ease, border-color .15s ease, color .15s ease, box-shadow .15s ease, transform .15s ease;
}

.ai_chat_msg_text.is_ai select[data-ai-chat-insert] {
    width: auto;
    min-width: 150px;
    padding-right: 28px;
}

.ai_chat_msg_text.is_ai input[data-ai-chat-insert][type="checkbox"],
.ai_chat_msg_text.is_ai input[data-ai-chat-insert][type="radio"] {
    appearance: auto;
    -webkit-appearance: auto;
    display: inline-block;
    flex: 0 0 14px;
    align-self: center;
    width: 14px;
    min-width: 14px;
    max-width: 14px;
    height: 14px;
    min-height: 14px;
    max-height: 14px;
    margin: 0;
    padding: 0;
    box-shadow: none;
    accent-color: #6f42c1;
    cursor: pointer;
}

.ai_chat_msg_text.is_ai input[data-ai-chat-insert][type="checkbox"] {
    border-radius: 3px;
}

.ai_chat_msg_text.is_ai input[data-ai-chat-insert][type="radio"] {
    border-radius: 999px;
}

.ai_chat_msg_text.is_ai button[data-ai-chat-insert]:hover,
.ai_chat_msg_text.is_ai select[data-ai-chat-insert]:hover {
    background: #ede3ff;
    border-color: #b79df0;
    color: #3b147a;
    box-shadow: 0 8px 18px rgba(111, 66, 193, .12);
}

.ai_chat_msg_text.is_ai label:has(input[data-ai-chat-insert]):hover {
    background: #ede3ff;
    border-color: #b79df0;
    color: #3b147a;
    box-shadow: 0 8px 18px rgba(111, 66, 193, .12);
}

.ai_chat_msg_text.is_ai button[data-ai-chat-insert]:focus-visible,
.ai_chat_msg_text.is_ai select[data-ai-chat-insert]:focus-visible {
    outline: none;
    border-color: #6f42c1;
    box-shadow: 0 0 0 3px rgba(111, 66, 193, .14), 0 8px 18px rgba(111, 66, 193, .12);
}

.ai_chat_msg_text.is_ai label:has(input[data-ai-chat-insert]):focus-within {
    outline: none;
    border-color: #6f42c1;
    box-shadow: 0 0 0 3px rgba(111, 66, 193, .14), 0 8px 18px rgba(111, 66, 193, .12);
}

.ai_chat_msg_text.is_ai button[data-ai-chat-insert].is_inserted,
.ai_chat_msg_text.is_ai select[data-ai-chat-insert].is_inserted,
.ai_chat_msg_text.is_ai input[data-ai-chat-insert].is_inserted {
    background: #ecfdf3;
    border-color: #86efac;
    color: #166534;
    transform: translateY(1px);
}

.ai_chat_msg_text.is_ai label:has(input[data-ai-chat-insert].is_inserted) {
    background: #ecfdf3;
    border-color: #86efac;
    color: #166534;
    transform: translateY(1px);
}

.ai_chat_msg_text.is_ai button[data-ai-chat-insert].is_removed,
.ai_chat_msg_text.is_ai select[data-ai-chat-insert].is_removed,
.ai_chat_msg_text.is_ai input[data-ai-chat-insert].is_removed {
    background: #fef2f2;
    border-color: #fca5a5;
    color: #991b1b;
    transform: translateY(1px);
}

.ai_chat_msg_text.is_ai label:has(input[data-ai-chat-insert].is_removed) {
    background: #fef2f2;
    border-color: #fca5a5;
    color: #991b1b;
    transform: translateY(1px);
}

#ai_chat_msg_column {
    --ai-chat-compose-toolbar-reserve: 62px;
    position: relative;
    min-width: 0;
}

#ai_chat_msg_column #ai_chat_model_mode_wrap {
    display: inline-flex;
    flex: 0 1 auto;
    min-width: 0;
    max-width: min(calc(100% - 170px), 360px);
    pointer-events: auto;
    margin-right: 0;
}

#ai_chat_msg_column #ai_chat_model_mode {
    flex: 0 1 auto;
    min-width: 0;
    max-width: 100%;
}

#ai_chat_msg_input {
    width: 100%;
    min-width: 0;
    min-height: 68px;
    max-height: calc(1.35em * 10 + 16px + var(--ai-chat-compose-toolbar-reserve));
    padding: 16px 18px var(--ai-chat-compose-toolbar-reserve) 18px;
    box-sizing: border-box;
    resize: none;
    line-height: 1.35;
    overflow-y: visible;
    scroll-padding-bottom: var(--ai-chat-compose-toolbar-reserve);
    border: 0;
    border-radius: 0;
    background: transparent;
    color: #111827;
    box-shadow: none;
}

#ai_chat_msg_input.is_ai {
    box-shadow: none;
}

#ai_chat_msg_input.is_ai::placeholder {
 color: #8b5cf6; opacity: .7; 
}

#ai_chat_msg_input:focus {
    outline: none;
}

@media (max-width: 960px) {
#ai_chat_msg_column #ai_chat_model_mode_wrap {
            max-width: min(calc(100% - 160px), 328px);
        
    }
}

@media (max-width: 720px) {
#ai_chat_msg_input {
            min-height: 62px;
            padding: 14px 14px var(--ai-chat-compose-toolbar-reserve) 14px;
        
    }
    
    .ai_chat_jump_button {
            width: 34px;
            height: 34px;
            font-size: 15px;
        
    }
    
    .ai_chat_msg_row {
            margin-bottom: 8px;
            font-size: 13px;
            line-height: 1.2;
        
    }
    
    .ai_chat_msg_side {
            min-width: 0;
            max-width: 100%;
            flex-wrap: nowrap;
            align-items: center;
            gap: 6px;
        
    }
    
    .ai_chat_msg_meta > .ai_chat_msg_time {
            flex: 0 0 auto;
        
    }
    
    .ai_chat_msg_meta {
            flex-wrap: nowrap;
            align-items: center;
            gap: 0;
            text-align: left;
            white-space: nowrap;
        
    }
    
    .ai_chat_msg_author {
            min-width: 0;
            max-width: 100%;
            text-align: left;
            white-space: nowrap;
            overflow: hidden;
            text-overflow: ellipsis;
        
    }
    
    .ai_chat_msg_author.is_ai {
            white-space: nowrap;
            overflow: hidden;
            text-overflow: ellipsis;
        
    }
    
    .ai_chat_msg_row.is_pending_ai .ai_chat_msg_author.is_ai {
            flex-direction: row;
            align-items: center;
            gap: 6px;
            overflow: visible;
        
    }
    
    .ai_chat_msg_author_name {
     display: inline; 
    }
    
    .ai_chat_msg_text {
            min-width: 0;
            width: 100%;
            margin-top: 2px;
            white-space: normal;
            overflow: visible;
            overflow-wrap: anywhere;
            word-break: break-word;
            text-overflow: clip;
            line-height: 1.35;
            max-height: none;
        
    }
    
    #ai_chat_messages .ai_chat_msg_text.is_ai,
    #ai_chat_messages .ai_chat_msg_text.is_system {
            padding: 0;
            border: 0;
            border-radius: 0;
            background: transparent;
            overflow: visible;
        
    }
    
    .ai_chat_msg_delete {
            width: 20px;
            height: 20px;
        
    }
    
    #ai_chat_msg_column #ai_chat_model_mode_wrap {
     max-width: calc(100% - 248px); 
    }
    
    .ai_chat_msg_text.is_ai table {
     font-size: 12px; 
    }
    
    .ai_chat_msg_text.is_ai table {
            width: 100% !important;
        
    }
    
    .ai_chat_msg_text.is_ai td,
    .ai_chat_msg_text.is_ai th {
            padding: 7px 10px;
            white-space: normal;
            overflow-wrap: anywhere;
            word-break: break-word;
        
    }
}

@media (max-width: 560px) {
#ai_chat_messages {
            padding: 40px 6px 6px 6px;
        
    }
    
    #ai_chat_jump_controls {
            right: 5px;
        
    }
    
    .ai_chat_jump_button {
            width: 32px;
            height: 32px;
        
    }
    
    #ai_chat_msg_column #ai_chat_model_mode_wrap {
            padding: 0;
            max-width: calc(100% - 168px);
        
    }
    
    #ai_chat_msg_input {
            min-height: 58px;
            padding: 12px 12px var(--ai-chat-compose-toolbar-reserve) 12px;
        
    }
}

@media (max-width: 900px) {
#ai_chat_msg_column #ai_chat_model_mode_wrap {
            max-width: min(calc(100% - 150px), 360px);
        
    }
}

@media (max-width: 720px) {
#ai_chat_msg_column #ai_chat_model_mode_wrap {
            max-width: calc(100% - 124px);
        
    }
}

@media (max-width: 560px) {
#ai_chat_msg_column #ai_chat_model_mode_wrap {
            max-width: calc(100% - 82px);
        
    }
}

@media (max-width: 900px) {
#ai_chat_messages_wrap {
            padding-top: var(--ai-chat-mobile-top-row-height);
        
    }
    
    #ai_chat_jump_controls {
            top: 3px;
            right: 6px;
            bottom: auto;
            z-index: 7;
            gap: 5px;
        
    }
    
    #ai_chat_messages {
            padding: 8px;
            scroll-padding-top: calc(var(--ai-chat-mobile-top-row-height) + 8px);
        
    }
}

@media (max-width: 720px) {
#ai_chat_messages {
            padding: 7px 8px 8px 8px;
        
    }
}

@media (max-width: 560px) {
#ai_chat_jump_controls {
            top: 4px;
            right: 5px;
            gap: 4px;
        
    }
    
    #ai_chat_messages {
            padding: 6px;
        
    }
}

@media (max-width: 900px) {
#ai_chat_msg_column {
            --ai-chat-compose-toolbar-reserve: 48px;
        
    }
    
    #ai_chat_msg_input {
            min-height: 52px;
            padding: 9px 8px var(--ai-chat-compose-toolbar-reserve) 8px;
        
    }
    
    #ai_chat_msg_column #ai_chat_model_mode_wrap {
            max-width: calc(100% - 86px);
            margin-right: 0;
        
    }
}

@media (max-width: 900px) {
#ai_chat_container_select,
    #ai_chat_channel_select,
    #ai_chat_agent_select,
    .ai_chat_group_title_input,
    .ai_chat_msg_editor,
    .ai_chat_msg_editor_wrap::after {
            font-size: 16px;
        
    }
}

@media (hover: none), (pointer: coarse) {
.ai_chat_msg_meta {
            display: flex;
            opacity: .88;
        
    }
    
    .ai_chat_msg_delete {
            width: 30px;
            height: 30px;
            font-size: 16px;
        
    }
}

#ai_chat_messages {
    --ai-chat-messages-top-space: max(140px, 32vh);
    padding-top: var(--ai-chat-messages-top-space);
}

#ai_chat_alert_stack {
    position: absolute;
    right: 14px;
    bottom: 16px;
    z-index: 9;
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 8px;
    max-width: min(420px, calc(100% - 28px));
    pointer-events: none;
}

.ai_chat_alert {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    max-width: 100%;
    padding: 10px 12px;
    border: 1px solid #f0c36d;
    border-radius: 12px;
    background: #fffbeb;
    color: #92400e;
    font-size: 13px;
    font-weight: 600;
    line-height: 1.35;
    box-shadow: 0 12px 28px rgba(15, 23, 42, .14);
    pointer-events: auto;
    transition: opacity .3s ease, transform .3s ease;
}

.ai_chat_alert.is_hiding {
    opacity: 0;
    transform: translateY(6px);
}

.ai_chat_alert_text {
    min-width: 0;
    overflow-wrap: anywhere;
}

.ai_chat_alert_close {
    flex-shrink: 0;
    border: 0;
    background: transparent;
    color: #b45309;
    font-size: 15px;
    font-weight: 700;
    line-height: 1;
    padding: 2px 4px;
    cursor: pointer;
}

.ai_chat_alert_close:hover {
    color: #78350f;
}

/* Pending AI request: the row hosts <maxsim-activity> (maxsim_core, controlled mode). */
.ai_chat_msg_row.is_pending_ai .ai_chat_msg_text.is_ai.is_activity_host {
    background: #eef1f4;
    border-color: #d6dce6;
    overflow-x: hidden;
    transition: background .18s ease, border-color .18s ease;
}

.ai_chat_msg_row.is_pending_ai .ai_chat_msg_text.is_ai.is_activity_host.is_mega {
    background: linear-gradient(180deg, #fffef7 0%, #fffbe6 100%);
    border-color: #f5e6b0;
}

.ai_chat_msg_text maxsim-activity {
    --ma-max-height: none;
    --ma-font: var(--maxsim-font-monospace, ui-monospace, SFMono-Regular, Menlo, Consolas, monospace);
}

/* ai/chat/+main_07_composer.css */
#ai_chat_model_mode_wrap,
#ai_chat_model_mode {
    width: auto;
}

#ai_chat_input_wrap {
    border-top: 1px solid #d6dce6;
    padding: 10px 14px calc(14px + var(--maxsim-safe-bottom)) 14px;
    background: #f7f9fc;
    position: relative;
    z-index: 2;
}

#ai_chat_input_layout {
    display: flex;
    flex-direction: column;
    gap: 0;
    width: 100%;
    margin: 0;
    position: relative;
}

.ai_chat_model_mode_control,
.ai_chat_agent_mode_control,
.ai_chat_read_only_control {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 4px;
    min-width: 0;
    min-inline-size: 0;
    margin: 0;
    padding: 4px;
    border: 1px solid rgba(111, 66, 193, .16);
    border-radius: 999px;
    background: rgba(248, 250, 252, .92);
    box-shadow: 0 8px 18px rgba(111, 66, 193, .06), inset 0 1px 0 rgba(255, 255, 255, .9);
}

.ai_chat_model_mode_wrap {
    display: inline-flex;
    align-items: center;
    justify-content: flex-start;
    gap: 4px;
    min-width: 0;
    max-width: 100%;
}

.ai_chat_read_only_control {
    flex: 0 0 auto;
    margin-left: 0;
    min-height: 32px;
    padding: 2px 8px 2px 2px;
    justify-content: flex-start;
    min-width: 132px;
        color: #dc2626;
    font-size: 13px;
    font-weight: 800;
    line-height: 1;
    letter-spacing: .01em;
    cursor: pointer;
    pointer-events: auto;
    user-select: none;
        border-color: rgba(239, 68, 68, .22);
        background: rgba(254, 242, 242, .92);
        box-shadow: 0 8px 18px rgba(239, 68, 68, .06), inset 0 1px 0 rgba(255, 255, 255, .9);
}

.ai_chat_read_only_control.is_locked {
    display: none;
}

.ai_chat_read_only_control:has(.ai_chat_read_only_input:checked) {
    color: #1d4ed8;
    border-color: rgba(37, 99, 235, .22);
    background: rgba(239, 246, 255, .92);
    box-shadow: 0 8px 18px rgba(37, 99, 235, .06), inset 0 1px 0 rgba(255, 255, 255, .9);
}

.ai_chat_read_only_input {
    position: absolute;
    width: 1px;
    height: 1px;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    border: 0;
    opacity: 0;
}

.ai_chat_read_only_switch {
    position: relative;
    display: inline-flex;
    flex-shrink: 0;
    margin-left: 4px;
    width: 36px;
    height: 22px;
    border-radius: 999px;
    background: #ef4444;
    transition: background .16s ease, box-shadow .16s ease;
}

.ai_chat_read_only_switch::after {
    content: '';
    position: absolute;
    top: 3px;
    left: 3px;
    width: 16px;
    height: 16px;
    border-radius: 999px;
    background: #fff;
    box-shadow: 0 2px 5px rgba(15, 23, 42, .22);
    transition: transform .16s ease;
}

.ai_chat_read_only_input:checked + .ai_chat_read_only_switch {
    background: #2563eb;
}

.ai_chat_read_only_input:checked + .ai_chat_read_only_switch::after {
    transform: translateX(14px);
}

.ai_chat_read_only_input:checked ~ .ai_chat_read_only_text {
    color: #1d4ed8;
}

.ai_chat_read_only_input:focus-visible + .ai_chat_read_only_switch {
    box-shadow: 0 0 0 3px rgba(239, 68, 68, .16);
}

.ai_chat_read_only_input:checked:focus-visible + .ai_chat_read_only_switch {
    box-shadow: 0 0 0 3px rgba(37, 99, 235, .22);
}

.ai_chat_read_only_text {
    white-space: nowrap;
    color: #dc2626;
    font-size: 15px;
    font-weight: 800;
    letter-spacing: .01em;
}

.ai_chat_model_mode_input {
    position: absolute;
    width: 1px;
    height: 1px;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    border: 0;
    opacity: 0;
}

.ai_chat_model_mode_cost {
    display: inline-flex;
    align-items: center;
    justify-content: flex-end;
    gap: .25em;
    flex: 0 0 54px;
    width: 54px;
    min-width: 54px;
    max-width: 54px;
    min-height: 28px;
    padding: 0 6px 0 0;
    color: #16a34a;
    font-size: 14px;
    font-weight: 900;
    line-height: 1;
    text-align: right;
    white-space: nowrap;
    font-variant-numeric: tabular-nums;
}

.ai_chat_model_mode_pill {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 58px;
    min-height: 28px;
    margin: 0;
    padding: 4px 10px;
    border: 1px solid transparent;
    border-radius: 999px;
    color: #64748b;
    font-size: 12px;
    font-weight: 900;
    line-height: 1;
    letter-spacing: .02em;
    cursor: pointer;
    user-select: none;
    transition: color .16s ease, background .16s ease, border-color .16s ease, box-shadow .16s ease, transform .16s ease;
}

.ai_chat_model_mode_pill:hover {
    color: #0f172a;
    background: rgba(111, 66, 193, .08);
}

.ai_chat_model_mode_input:checked + .ai_chat_model_mode_pill,
.ai_chat_model_mode_pill.is_active {
    color: #4c1d95;
    border-color: rgba(111, 66, 193, .28);
    background: linear-gradient(180deg, rgba(248, 245, 255, .98) 0%, rgba(237, 227, 255, .98) 100%);
    box-shadow: 0 8px 18px rgba(111, 66, 193, .12), inset 0 1px 0 rgba(255, 255, 255, .78);
}

.ai_chat_model_mode_input[value="Mega"]:checked + .ai_chat_model_mode_pill,
.ai_chat_model_mode_pill.is_active[data-mode="Mega"] {
    color: #3f2d00;
    border-color: rgba(217, 119, 6, .36);
    background: linear-gradient(180deg, #fff7cc 0%, #ffd84d 100%);
    box-shadow: 0 8px 18px rgba(217, 119, 6, .18), inset 0 1px 0 rgba(255, 255, 255, .74);
}

.ai_chat_model_mode_input:focus-visible + .ai_chat_model_mode_pill {
    outline: 3px solid rgba(111, 66, 193, .18);
    outline-offset: 2px;
}

.ai_chat_model_mode_input:active + .ai_chat_model_mode_pill {
    transform: translateY(1px);
}

.ai_chat_agent_mode_control {
    flex: 0 1 110px;
    width: auto;
    min-width: 58px;
    max-width: 140px;
    margin-left: 0;
    pointer-events: auto;
}

.ai_chat_agent_mode_control:focus-within {
    border-color: #cdb8f7;
    box-shadow: 0 0 0 3px rgba(111, 66, 193, .10), 0 8px 18px rgba(111, 66, 193, .06), inset 0 1px 0 rgba(255, 255, 255, .9);
}

.ai_chat_model_mode_input:disabled + .ai_chat_model_mode_pill {
    color: #94a3b8;
    cursor: not-allowed;
    opacity: .66;
}

#ai_chat_input_row {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 112px);
    gap: 0;
    align-items: stretch;
    min-width: 0;
    border: 1px solid #d6dce6;
    border-radius: 18px;
    background: #fff;
    box-shadow: 0 12px 28px rgba(15, 23, 42, .06);
    overflow: hidden;
    transform: translateZ(0);
    -webkit-mask-image: -webkit-radial-gradient(white, black);
}

#ai_chat_input_row.is_action_menu_open {
    overflow: visible;
    -webkit-mask-image: none;
    mask-image: none;
}

#ai_chat_input_row.is_action_menu_open #ai_chat_send_column {
    border-top-right-radius: 18px;
    border-bottom-right-radius: 18px;
}

#ai_chat_input_row:focus-within {

}

#ai_chat_compose_box {
    position: relative;
    min-width: 0;
}

#ai_chat_compose_toolbar {
    position: absolute;
    left: 14px;
    right: 14px;
    bottom: 12px;
    display: flex;
    align-items: center;
    justify-content: flex-start;
    gap: 8px;
    min-width: 0;
    pointer-events: none;
    z-index: 8;
}

#ai_chat_image_wrap {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 8px;
    flex: 0 1 320px;
    min-width: 38px;
    max-width: min(42%, 360px);
    margin-left: auto;
    pointer-events: auto;
}

#ai_chat_image_wrap.is_empty {
    flex: 0 0 38px;
    max-width: 38px;
}

#ai_chat_image_trigger {
    order: 2;
}

#ai_chat_image_meta {
    order: 1;
}

.ai_chat_sr_only {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}

#ai_chat_image_trigger {
    width: 38px;
    min-width: 38px;
    height: 38px;
    min-height: 38px;
    padding: 0;
    border: 1px solid rgba(111, 66, 193, .16);
    border-radius: 999px;
    background: rgba(248, 250, 252, .92);
    color: #0f172a;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: border-color .16s ease, background .16s ease, box-shadow .16s ease, transform .16s ease;
    box-shadow: 0 8px 18px rgba(111, 66, 193, .06), inset 0 1px 0 rgba(255, 255, 255, .9);
}

#ai_chat_image_trigger:hover {
    border-color: #cdb8f7;
    background: #f5f0ff;
    color: #6f42c1;
}

#ai_chat_image_trigger:focus-visible,
#ai_chat_image_clear:focus-visible,
#ai_chat_image_input:focus-visible + #ai_chat_image_trigger {
    border-color: #cdb8f7;
    box-shadow: 0 0 0 3px rgba(111, 66, 193, .10);
    outline: none;
}

#ai_chat_image_trigger:active {
    transform: translateY(1px);
}

.ai_chat_action_menu {
    position: absolute;
    right: 0;
    bottom: calc(100% + 8px);
    z-index: 70;
    display: flex;
    flex-direction: column;
    gap: 4px;
    min-width: 230px;
    max-width: min(82vw, 320px);
    padding: 6px;
    border: 1px solid #d6dce6;
    border-radius: 14px;
    background: #fff;
    box-shadow: 0 18px 42px rgba(15, 23, 42, .18);
}

.ai_chat_action_menu[hidden] {
    display: none;
}

.ai_chat_action_item {
    display: flex;
    align-items: center;
    gap: 10px;
    width: 100%;
    min-height: 44px;
    padding: 8px 10px;
    border: 0;
    border-radius: 10px;
    background: transparent;
    color: #0f172a;
    text-align: left;
    cursor: pointer;
}

.ai_chat_action_item:hover,
.ai_chat_action_item:focus-visible {
    background: #f5f0ff;
    color: #4c1d95;
    outline: none;
}

.ai_chat_action_item:disabled {
    cursor: not-allowed;
    opacity: .48;
}

.ai_chat_action_item:disabled:hover,
.ai_chat_action_item:disabled:focus-visible {
    background: transparent;
    color: #0f172a;
}

.ai_chat_action_icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 28px;
    width: 28px;
    height: 28px;
    border-radius: 999px;
    background: #f1f5f9;
    color: #475569;
    font-size: 14px;
    font-weight: 900;
    line-height: 1;
}

.ai_chat_action_item:hover .ai_chat_action_icon,
.ai_chat_action_item:focus-visible .ai_chat_action_icon {
    background: #ede3ff;
    color: #6f42c1;
}

.ai_chat_action_text {
    display: flex;
    flex-direction: column;
    gap: 2px;
    min-width: 0;
}

.ai_chat_action_text strong {
    color: inherit;
    font-size: 13px;
    font-weight: 900;
    line-height: 1.15;
}

.ai_chat_action_text small {
    color: #64748b;
    font-size: 11px;
    font-weight: 600;
    line-height: 1.15;
}

.ai_chat_image_trigger_icon {
    width: 20px;
    height: 20px;
    border-radius: 999px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    background: transparent;
    color: currentColor;
    font-size: 20px;
    font-weight: 400;
    line-height: 1;
}

#ai_chat_image_trigger_text {
    display: block;
}

#ai_chat_image_trigger_title {
    display: inline;
}

#ai_chat_image_trigger_hint {
    display: inline;
}

#ai_chat_image_meta {
    display: flex;
    align-items: center;
    gap: 8px;
    flex: 0 1 auto;
    min-width: 0;
    max-width: min(32vw, 260px);
}

#ai_chat_image_status {
    display: inline-block;
    flex: 1 1 auto;
    min-width: 0;
    min-height: 0;
    color: #64748b;
    font-size: 11px;
    line-height: 1.2;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

#ai_chat_image_status.is_error {
    color: #b42318;
}

#ai_chat_image_clear {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 26px;
    min-width: 26px;
    height: 26px;
    min-height: 26px;
    padding: 0;
    border: 1px solid #d6dce6;
    border-radius: 999px;
    background: #fff;
    color: #475569;
    font-size: 15px;
    line-height: 1;
    cursor: pointer;
}

#ai_chat_image_clear:hover {
    border-color: #f3b1b8;
    background: #fff5f5;
    color: #b42318;
}

#ai_chat_image_clear[hidden] {
    display: none;
}

#ai_chat_image_wrap.is_selected #ai_chat_image_trigger {
    border-color: #cdb8f7;
    background: #f8f5ff;
    box-shadow: 0 8px 18px rgba(111, 66, 193, .10);
}

#ai_chat_image_wrap.is_selected .ai_chat_image_trigger_icon {
    color: #6f42c1;
}

#ai_chat_image_wrap.is_error #ai_chat_image_trigger {
    border-color: #f3b1b8;
    background: #fff5f5;
    box-shadow: 0 8px 18px rgba(220, 53, 69, .08);
}

#ai_chat_image_wrap.is_error .ai_chat_image_trigger_icon {
    color: #b42318;
}

#ai_chat_image_wrap.is_error #ai_chat_image_clear {
    border-color: #f3b1b8;
    background: #fff0f1;
    color: #b42318;
}

#ai_chat_send_column {
    display: grid;
    grid-template-rows: repeat(2, minmax(44px, 1fr));
    position: relative;
    z-index: 4;
    min-width: 0;
    min-height: 88px;
    border-left: 1px solid #e2e8f0;
    background: linear-gradient(180deg, #fbfcfe 0%, #f4f7fb 100%);
    pointer-events: auto;
    transform: translateZ(0);
}

#ai_chat_send_column.is_send_humans_only,
#ai_chat_send_column.is_send_ai_only {
    grid-template-rows: minmax(44px, 1fr);
}

#ai_chat_send_column.is_send_humans_only #ai_chat_send_ai,
#ai_chat_send_column.is_send_ai_only #ai_chat_send {
    display: none;
}

#ai_chat_send_column.is_send_humans_only #ai_chat_send,
#ai_chat_send_column.is_send_ai_only #ai_chat_send_ai {
    grid-row: 1;
    align-self: stretch;
    height: 100%;
    min-height: 100%;
    border-bottom: 0;
}

#ai_chat_send,
#ai_chat_send_ai {
    width: 100%;
    position: relative;
    z-index: 5;
    min-height: 44px;
    height: 100%;
    min-width: 0;
    padding: 10px 14px;
    font-size: 14px;
    font-weight: 700;
    border: 0;
    border-radius: 0;
    box-shadow: none;
    touch-action: manipulation;
    -webkit-tap-highlight-color: transparent;
    -webkit-user-select: none;
    user-select: none;
    pointer-events: auto;
}

#ai_chat_send_ai {
    font-size: 16px;
    font-weight: 800;
}

#ai_chat_send_ai_touch_proxy {
    appearance: none;
    -webkit-appearance: none;
    display: none;
    position: absolute;
    z-index: 60;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    color: transparent;
    opacity: .01;
    cursor: pointer;
    touch-action: manipulation;
    -webkit-tap-highlight-color: transparent;
    -webkit-user-select: none;
    user-select: none;
    pointer-events: none;
}

#ai_chat_send_ai_touch_proxy.is_active {
    pointer-events: auto;
}

#ai_chat_send {
    border-bottom: 1px solid #e2e8f0;
}

.btn-purple {
    background: #6f42c1;
    border-color: #6f42c1;
    color: #fff;
}

.btn-purple:hover {
 background: #6339b0; border-color: #6339b0; color: #fff; 
}

#ai_chat_send_ai:disabled {
 background: #d8c7ff; border-color: #d8c7ff; color: #5b3b9f; opacity: 1; cursor: not-allowed; 
}

@media (max-width: 960px) {
#ai_chat_model_mode_wrap {
     margin-left: 0; 
    }
    
    #ai_chat_input_row {
            grid-template-columns: minmax(0, 1fr) minmax(0, 96px);
        
    }
    
    #ai_chat_compose_toolbar {
            left: 12px;
            right: 12px;
            bottom: 10px;
        
    }
    
    #ai_chat_image_meta {
            max-width: min(34vw, 190px);
        
    }
    
    .ai_chat_read_only_control {
            min-height: 28px;
            min-width: 122px;
            padding-right: 6px;
            font-size: 14px;
        
    }
    
    .ai_chat_agent_mode_control {
            flex-basis: 80px;
            min-width: 52px;
            max-width: 95px;
        
    }
    
    #ai_chat_send,
    #ai_chat_send_ai {
            min-width: 0;
            padding: 8px 10px;
            font-size: 13px;
        
    }
    
    #ai_chat_send_ai {
            font-size: 15px;
        
    }
}

@media (max-width: 720px) {
#ai_chat_input_wrap {
            padding: 6px 6px calc(6px + var(--maxsim-safe-bottom)) 6px;
        
    }
    
    #ai_chat_input_row {
            grid-template-columns: minmax(0, 1fr) minmax(0, 88px);
        
    }
    
    #ai_chat_compose_toolbar {
            left: 10px;
            right: 10px;
            bottom: 9px;
            gap: 8px;
        
    }
    
    #ai_chat_image_meta {
            max-width: min(30vw, 130px);
        
    }
    
    #ai_chat_model_mode_wrap {
     width: auto; justify-content: center; margin-left: 0; 
    }
    
    .ai_chat_read_only_control {
     min-height: 28px; padding: 2px 6px 2px 2px; font-size: 13.5px;
    }
    
    .ai_chat_read_only_control {
     min-width: 112px; 
    }
    
    .ai_chat_read_only_switch {
     width: 32px; height: 20px;
    }
    
    .ai_chat_read_only_switch::after {
     width: 13px; height: 13px;
    }
    
    .ai_chat_read_only_input:checked + .ai_chat_read_only_switch::after {
     transform: translateX(13px);
    }
    
    .ai_chat_agent_mode_control {
     flex-basis: 66px; min-width: 41px; max-width: 72px; 
    }
    
    .ai_chat_model_mode_control {
     padding: 3px; 
    }
    
    .ai_chat_model_mode_pill {
     min-width: 50px; min-height: 26px; padding: 4px 8px; font-size: 11px; 
    }
    
    #ai_chat_send,
    #ai_chat_send_ai {
            flex: 1 1 auto;
            min-width: 0;
            font-size: 12px;
        
    }
    
    #ai_chat_send_ai {
            font-size: 14px;
        
    }
}

@media (max-width: 560px) {
#ai_chat_input_wrap {
            padding-left: 5px;
            padding-right: 5px;
        
    }
    
    .ai_chat_read_only_control {
            gap: 3px;
            padding: 3px;
            min-width: 47px;
        
    }
    
    .ai_chat_agent_mode_control {
            flex: 0 1 44px;
            min-width: 31px;
            max-width: 54px;
            padding: 3px;
        
    }
    
    .ai_chat_model_mode_control {
            gap: 6px;
            padding: 3px;
        
    }
    
    .ai_chat_model_mode_pill {
            min-width: 0;
            min-height: 24px;
            padding: 4px 6px;
            font-size: 9.5px;
            letter-spacing: 0;
        
    }
    
    #ai_chat_input_row {
            grid-template-columns: minmax(0, 1fr) minmax(0, 78px);
        
    }
    
    #ai_chat_compose_toolbar {
            left: 8px;
            right: 8px;
            bottom: 8px;
            gap: 6px;
        
    }
    
    #ai_chat_image_meta {
            max-width: 0;
            overflow: hidden;
            opacity: 0;
        
    }
    
    #ai_chat_image_wrap.is_selected #ai_chat_image_meta,
    #ai_chat_image_wrap.is_error #ai_chat_image_meta {
            max-width: 88px;
            opacity: 1;
        
    }
    
    #ai_chat_image_status {
            white-space: nowrap;
        
    }
    
    #ai_chat_image_trigger {
            width: 36px;
            min-width: 36px;
            height: 36px;
            min-height: 36px;
        
    }
    
    #ai_chat_send,
    #ai_chat_send_ai {
            padding: 8px 6px;
            font-size: 11px;
        
    }
    
    #ai_chat_send_ai {
            font-size: 13px;
        
    }
}

@media (max-width: 900px) {
#ai_chat_compose_toolbar .ai_chat_agent_mode_control {
            display: none;
        
    }
}

@media (max-width: 900px) {
#ai_chat_input_wrap {
            padding: 0 0 var(--maxsim-safe-bottom) 0;
            background: #fff;
        
    }
    
    #ai_chat_input_layout {
            width: 100%;
        
    }
    
    #ai_chat_input_row {
            grid-template-columns: minmax(0, 1fr) minmax(0, 76px);
            border-left: 0;
            border-right: 0;
            border-bottom: 0;
            border-radius: 0;
            box-shadow: none;
        
    }
    
    #ai_chat_compose_toolbar {
            left: 6px;
            right: 6px;
            bottom: 5px;
            gap: 5px;
        
    }
    
    #ai_chat_image_wrap {
            min-width: 32px;
        
    }
    
    #ai_chat_image_wrap.is_empty {
            flex-basis: 32px;
            max-width: 32px;
        
    }
    
    .ai_chat_model_mode_control {
            gap: 3px;
            padding: 2px;
        
    }
    
    .ai_chat_model_mode_cost {
            flex-basis: 42px;
            width: 42px;
            min-width: 42px;
            max-width: 42px;
            min-height: 23px;
            padding: 0 3px 0 0;
            font-size: 9.5px;
        
    }
    
    .ai_chat_model_mode_pill {
            min-height: 23px;
            padding: 3px 5px;
            font-size: 9.5px;
            letter-spacing: 0;
        
    }
    
    .ai_chat_read_only_control {
            min-height: 30px;
            padding: 2px;
            min-width: 48px;
        
    }
    
    .ai_chat_read_only_text {
            display: none;
        
    }
    
    #ai_chat_image_trigger {
            width: 32px;
            min-width: 32px;
            height: 32px;
            min-height: 32px;
        
    }
    
    #ai_chat_send,
    #ai_chat_send_ai {
            min-height: 38px;
            padding: 7px 4px;
        
    }
    
    #ai_chat_send_column {
            grid-template-rows: repeat(2, minmax(38px, 1fr));
            min-height: 76px;
        
    }
    
    #ai_chat_send_ai_touch_proxy.is_active {
            display: block;
        
    }
}

@media (max-width: 900px) {
#ai_chat_input_row {
            transform: none;
            -webkit-mask-image: none;
            mask-image: none;
            overflow: visible;
        
    }
    
    #ai_chat_send_column {
            z-index: 20;
            isolation: isolate;
            transform: none;
            overflow: visible;
        
    }
    
    #ai_chat_send,
    #ai_chat_send_ai {
            z-index: 21;
            pointer-events: auto;
            touch-action: manipulation;
        
    }
}

.ai_chat_model_mode_cost_currency {
    font-weight: 400;
}

.ai_chat_model_mode_pill.is_disabled {
    color: #94a3b8;
    cursor: not-allowed;
    opacity: .58;
    position: relative;
}

.ai_chat_model_mode_pill.is_disabled::before {
    content: '🔒 ';
    font-size: 10px;
    opacity: .7;
}

.ai_chat_model_mode_pill.is_disabled:hover {
    opacity: .74;
}

/* ai/chat/+main_08_empty.css */
#ai_chat_empty_state {
    max-width: 920px;
    margin: 56px auto;
    padding: 34px 30px;
    border: 1px solid rgba(0, 0, 0, .10);
    border-radius: 18px;
    background: #fff;
    box-shadow: 0 20px 48px rgba(0, 0, 0, .07);
}

.ai_chat_empty_text {
    margin: 0 0 18px 0;
    color: #555;
    line-height: 1.7;
}

.ai_chat_empty_note {
    margin: 0;
    color: #777;
    font-size: 14px;
}

@media (max-width: 720px) {
#ai_chat_empty_state {
            margin: 20px auto;
            padding: 24px 18px;
            border-radius: 14px;
        
    }
}

@media (max-width: 560px) {
#ai_chat_empty_state {
            margin: 12px auto;
            padding: 20px 14px;
        
    }
    
    #ai_chat_empty_state h1 {
            font-size: 22px;
        
    }
}

/* ai/chat/+main_09_voice.css */
#ai_chat_voice_button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 38px;
    height: 38px;
    border: 1px solid rgba(100, 116, 139, 0.35);
    border-radius: 999px;
    background: transparent;
    cursor: pointer;
    padding: 0;
    pointer-events: auto;
    touch-action: manipulation;
    -webkit-tap-highlight-color: transparent;
    color: #64748b;
    transition: background 0.15s ease, border-color 0.15s ease, box-shadow 0.15s ease, color 0.15s ease;
}

#ai_chat_voice_button:hover {
    background: rgba(168, 85, 247, 0.12);
    border-color: #a855f7;
    color: #a855f7;
}

#ai_chat_voice_button .ai_chat_voice_icon {
    display: block;
    width: 18px;
    height: 18px;
}

@media (max-width: 900px) {
#ai_chat_voice_button {
            width: 32px;
            height: 32px;
        
    }
    
    #ai_chat_voice_button .ai_chat_voice_icon {
            width: 16px;
            height: 16px;
        
    }
}

@media (max-width: 560px) {
#ai_chat_voice_button {
            width: 36px;
            height: 36px;
        
    }
    
    #ai_chat_voice_button .ai_chat_voice_icon {
            width: 18px;
            height: 18px;
        
    }
}

#ai_chat_voice_button.is_connecting {
    border-color: #a855f7;
    background: rgba(168, 85, 247, 0.12);
    color: #a855f7;
    animation: ai_chat_voice_pulse 1.2s ease-in-out infinite;
}

#ai_chat_voice_button.is_active {
    border-color: #a855f7;
    background: #a855f7;
    color: #ffffff;
    box-shadow: 0 0 0 4px rgba(168, 85, 247, 0.25);
    animation: ai_chat_voice_pulse 1.6s ease-in-out infinite;
}

#ai_chat_voice_button.is_stopping {
    border-color: #f59e0b;
    background: rgba(245, 158, 11, 0.15);
    color: #f59e0b;
}

@keyframes ai_chat_voice_pulse {    0%, 100% { box-shadow: 0 0 0 0 rgba(168, 85, 247, 0.35); }
    50% { box-shadow: 0 0 0 6px rgba(168, 85, 247, 0.08); }
}

/* Temporary mute toggle: visible only while a call is active. */
#ai_chat_voice_mute_button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 38px;
    height: 38px;
    border: 1px solid rgba(100, 116, 139, 0.35);
    border-radius: 999px;
    background: transparent;
    cursor: pointer;
    padding: 0;
    pointer-events: auto;
    touch-action: manipulation;
    -webkit-tap-highlight-color: transparent;
    color: #64748b;
    transition: background 0.15s ease, border-color 0.15s ease, color 0.15s ease;
}

#ai_chat_voice_mute_button:hover {
    background: rgba(168, 85, 247, 0.12);
    border-color: #a855f7;
    color: #a855f7;
}

#ai_chat_voice_mute_button .ai_chat_voice_icon {
    display: block;
    width: 18px;
    height: 18px;
}

#ai_chat_voice_mute_button .ai_chat_voice_mute_slash {
    display: none;
}

#ai_chat_voice_mute_button.is_muted {
    border-color: #ef4444;
    background: rgba(239, 68, 68, 0.15);
    color: #ef4444;
}

#ai_chat_voice_mute_button.is_muted .ai_chat_voice_mute_slash {
    display: block;
}

@media (max-width: 900px) {
    #ai_chat_voice_mute_button { width: 32px; height: 32px; }
    #ai_chat_voice_mute_button .ai_chat_voice_icon { width: 16px; height: 16px; }
}

@media (max-width: 560px) {
    #ai_chat_voice_mute_button { width: 36px; height: 36px; }
    #ai_chat_voice_mute_button .ai_chat_voice_icon { width: 18px; height: 18px; }
}

#ai_chat_voice_panel {
    padding: 6px 10px 2px;
}

/* The call lives in its own chat only: other conversations never show its status. */
#ai_chat_voice_panel.is_other_chat,
#ai_chat_voice_panel.is_empty {
    display: none !important;
}

#ai_chat_voice_status {
    font-size: 12px;
    color: #64748b;
    min-height: 0;
}

#ai_chat_voice_status:empty {
    display: none;
}

/* Voice call block inside the chat feed (live captions and persisted transcript). */
.ai_chat_voice_card {
    padding: 6px 12px 8px;
    border: 1px solid rgba(168, 85, 247, 0.28);
    border-radius: 10px;
    background: rgba(148, 163, 184, 0.06);
    font-size: 13px;
    line-height: 1.45;
}

.ai_chat_voice_card_head {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 12px;
    font-weight: 600;
    color: #15803d;
}

.ai_chat_voice_card_time {
    font-family: var(--maxsim-font-monospace);
    font-size: 11px;
    font-weight: 400;
    color: #64748b;
}

.ai_chat_voice_card_lines:empty {
    display: none;
}

.ai_chat_voice_card_lines {
    margin-top: 2px;
}

.ai_chat_voice_line {
    margin: 4px 0;
    overflow-wrap: anywhere;
}

.ai_chat_voice_line_label {
    font-weight: 700;
    margin-right: 6px;
}

.ai_chat_voice_line_label::after {
    content: ':';
}

.ai_chat_voice_line.is_user .ai_chat_voice_line_label {
    color: #334155;
}

.ai_chat_voice_line.is_user .ai_chat_voice_line_text {
    color: #334155;
}

.ai_chat_voice_line.is_assistant .ai_chat_voice_line_label {
    color: #6f42c1;
}

/* Max speaks in the AI purple of the chat, the same color as his author name. */
.ai_chat_voice_line.is_assistant .ai_chat_voice_line_text {
    color: #6f42c1;
}

.ai_chat_voice_line:not(.is_final) .ai_chat_voice_line_text {
    opacity: 0.75;
}

.ai_chat_voice_line:not(.is_final) .ai_chat_voice_line_text::after {
    content: '▌';
    margin-left: 2px;
    animation: ai_chat_voice_cursor 1s step-end infinite;
}

@keyframes ai_chat_voice_cursor {
    0%, 100% { opacity: 1; }
    50% { opacity: 0; }
}

#ai_chat_voice_audio {
    display: none;
}

html[data-bs-theme='dark'] .ai_chat_voice_card {
    border-color: rgba(168, 85, 247, 0.4);
    background: rgba(148, 163, 184, 0.08);
}

html[data-bs-theme='dark'] .ai_chat_voice_card_head {
    color: #4ade80;
}

html[data-bs-theme='dark'] .ai_chat_voice_line.is_assistant .ai_chat_voice_line_label,
html[data-bs-theme='dark'] .ai_chat_voice_line.is_assistant .ai_chat_voice_line_text {
    color: #c9a9ff;
}

html[data-bs-theme='dark'] .ai_chat_voice_line.is_user .ai_chat_voice_line_label,
html[data-bs-theme='dark'] .ai_chat_voice_line.is_user .ai_chat_voice_line_text {
    color: #cbd5e1;
}

/* ai/chat/+main_10_files.css */
/* /ai/chat attachments: composer chips, drag & drop, message files. */

.ai_chat_files {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    max-height: 132px;
    overflow-y: auto;
    padding: 10px 14px 0 14px;
}

.ai_chat_files[hidden] {
    display: none;
}

.ai_chat_file_chip {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    max-width: 240px;
    padding: 4px 4px 4px 4px;
    border: 1px solid #d6dce6;
    border-radius: 12px;
    background: #f8fafc;
    font-size: 12px;
    line-height: 1.2;
}

.ai_chat_file_chip_thumb,
.ai_chat_file_chip_ext {
    flex: 0 0 auto;
    width: 34px;
    height: 34px;
    border-radius: 8px;
}

.ai_chat_file_chip_thumb {
    object-fit: cover;
    background: #fff;
}

.ai_chat_file_chip_ext {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: #ede9fe;
    color: #5b21b6;
    font-size: 10px;
    font-weight: 700;
    letter-spacing: .02em;
}

.ai_chat_file_chip_text {
    display: flex;
    flex-direction: column;
    min-width: 0;
}

.ai_chat_file_chip_name {
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
    color: #111827;
}

.ai_chat_file_chip_text small {
    color: #64748b;
}

.ai_chat_file_chip_remove {
    flex: 0 0 auto;
    width: 22px;
    height: 22px;
    padding: 0;
    border: 0;
    border-radius: 999px;
    background: transparent;
    color: #64748b;
    font-size: 16px;
    line-height: 22px;
    cursor: pointer;
}

.ai_chat_file_chip_remove:hover,
.ai_chat_file_chip_remove:focus-visible {
    background: #fee2e2;
    color: #b91c1c;
}

#ai_chat_input_wrap.is_file_drag #ai_chat_input_row {
    border-color: #8b5cf6;
    box-shadow: 0 0 0 3px rgba(139, 92, 246, .22), 0 12px 28px rgba(15, 23, 42, .06);
}

#ai_chat_input_wrap.is_file_drag #ai_chat_compose_box::after {
    content: 'Drop files to attach';
    position: absolute;
    inset: 6px;
    display: flex;
    align-items: center;
    justify-content: center;
    border: 2px dashed #8b5cf6;
    border-radius: 14px;
    background: rgba(245, 243, 255, .92);
    color: #5b21b6;
    font-weight: 600;
    pointer-events: none;
    z-index: 20;
}

.ai_chat_msg_attachment {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.ai_chat_msg_attachment_link {
    display: inline-block;
}

.ai_chat_msg_attachment:has(.ai_chat_msg_attachment_link + .ai_chat_msg_attachment_link) img {
    max-width: min(100%, 220px);
    max-height: 220px;
}

.ai_chat_msg_files {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    margin: 0 0 8px 0;
}

.ai_chat_msg_file {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    max-width: 280px;
    padding: 6px 10px 6px 6px;
    border: 1px solid #d6dce6;
    border-radius: 12px;
    background: #fff;
    color: #111827;
    font-size: 13px;
    text-decoration: none;
}

.ai_chat_msg_file:hover,
.ai_chat_msg_file:focus-visible {
    border-color: #a78bfa;
    background: #faf5ff;
}

.ai_chat_msg_file_icon {
    flex: 0 0 auto;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 34px;
    height: 34px;
    padding: 0 4px;
    border-radius: 8px;
    background: #ede9fe;
    color: #5b21b6;
    font-size: 10px;
    font-weight: 700;
}

.ai_chat_msg_file_name {
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
}

html[data-bs-theme='dark'] .ai_chat_file_chip,
html[data-bs-theme='dark'] .ai_chat_msg_file {
    border-color: #2e3a55;
    background: #141c2e;
    color: #e2e8f0;
}

html[data-bs-theme='dark'] .ai_chat_file_chip_name {
    color: #e2e8f0;
}

html[data-bs-theme='dark'] .ai_chat_file_chip_text small {
    color: #94a3b8;
}

html[data-bs-theme='dark'] .ai_chat_file_chip_ext,
html[data-bs-theme='dark'] .ai_chat_msg_file_icon {
    background: #2e1065;
    color: #ddd6fe;
}

html[data-bs-theme='dark'] .ai_chat_msg_file:hover,
html[data-bs-theme='dark'] .ai_chat_msg_file:focus-visible {
    border-color: #7c3aed;
    background: #1e1b4b;
}

html[data-bs-theme='dark'] #ai_chat_input_wrap.is_file_drag #ai_chat_compose_box::after {
    background: rgba(30, 27, 75, .92);
    color: #ddd6fe;
}

/* ai/chat/+main_11_table_resize.css */
.ai_chat_msg_text.is_ai th.ai_chat_col_resizable,
.ai_chat_msg_text.is_ai td.ai_chat_col_resizable {
    position: relative;
}

.ai_chat_msg_text.is_ai .ai_chat_col_resizer {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    width: 8px;
    cursor: col-resize;
    touch-action: none;
    user-select: none;
    z-index: 2;
}

.ai_chat_msg_text.is_ai .ai_chat_col_resizer::after {
    content: '';
    position: absolute;
    top: 20%;
    bottom: 20%;
    right: 2px;
    width: 2px;
    border-radius: 1px;
    background: transparent;
    transition: background-color .15s;
}

.ai_chat_msg_text.is_ai th:hover > .ai_chat_col_resizer::after,
.ai_chat_msg_text.is_ai td:hover > .ai_chat_col_resizer::after,
.ai_chat_msg_text.is_ai .ai_chat_col_resizer.is_active::after {
    background: #8b5cf6;
}

.ai_chat_msg_text.is_ai th.is_resized,
.ai_chat_msg_text.is_ai td.is_resized {
    overflow: hidden;
    text-overflow: ellipsis;
}

body.ai_chat_col_resizing,
body.ai_chat_col_resizing * {
    cursor: col-resize !important;
    user-select: none !important;
}

/* ai/chat/+main_12_modes.css */
.ai_chat_model_mode_wrap {
    --ai-chat-mode-font: 12px;
    --ai-chat-mode-pad: 10px;
    --ai-chat-mode-height: 28px;
    --ai-chat-mode-min: 56px;
    --ai-chat-mode-gap: 4px;
    --ai-chat-mode-ring: 4px;
    --ai-chat-mode-spacing: .02em;
    --ai-chat-mode-cost-font: 14px;
    --ai-chat-mode-cost-min: 54px;
    display: flex;
    align-items: center;
    justify-content: flex-start;
    flex: 1 1 0;
    gap: 4px;
    min-width: 0;
    pointer-events: none;
}

.ai_chat_model_mode_wrap[data-fit="compact"],
.ai_chat_model_mode_wrap[data-fit="stack"] {
    --ai-chat-mode-font: 11px;
    --ai-chat-mode-pad: 7px;
    --ai-chat-mode-height: 26px;
    --ai-chat-mode-min: 0px;
    --ai-chat-mode-gap: 3px;
    --ai-chat-mode-ring: 3px;
    --ai-chat-mode-cost-font: 12px;
    --ai-chat-mode-cost-min: 44px;
}

.ai_chat_model_mode_wrap[data-fit="tight"] {
    --ai-chat-mode-font: 10px;
    --ai-chat-mode-pad: 5px;
    --ai-chat-mode-height: 24px;
    --ai-chat-mode-min: 0px;
    --ai-chat-mode-gap: 2px;
    --ai-chat-mode-ring: 2px;
    --ai-chat-mode-spacing: 0;
    --ai-chat-mode-cost-font: 10px;
    --ai-chat-mode-cost-min: 0px;
}

.ai_chat_model_mode_wrap[data-fit="tiny"] {
    --ai-chat-mode-font: 9.5px;
    --ai-chat-mode-pad: 4px;
    --ai-chat-mode-height: 22px;
    --ai-chat-mode-min: 0px;
    --ai-chat-mode-gap: 2px;
    --ai-chat-mode-ring: 2px;
    --ai-chat-mode-spacing: 0;
}

.ai_chat_model_mode_wrap[data-fit="stack"] {
    flex-basis: 100%;
}

.ai_chat_model_mode_control {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: flex-start;
    flex: 0 0 auto;
    gap: var(--ai-chat-mode-gap);
    min-width: 0;
    min-inline-size: 0;
    margin: 0;
    padding: var(--ai-chat-mode-ring);
    border: 1px solid rgba(111, 66, 193, .16);
    border-radius: 999px;
    background: rgba(248, 250, 252, .92);
    box-shadow: 0 8px 18px rgba(111, 66, 193, .06), inset 0 1px 0 rgba(255, 255, 255, .9);
    pointer-events: auto;
}

.ai_chat_model_mode_wrap[data-fit="stack"] .ai_chat_model_mode_control {
    flex: 1 1 auto;
    overflow-x: auto;
    overflow-y: hidden;
    scrollbar-width: none;
}

.ai_chat_model_mode_wrap[data-fit="stack"] .ai_chat_model_mode_control::-webkit-scrollbar {
    display: none;
}

.ai_chat_model_mode_cost {
    display: inline-flex;
    align-items: center;
    justify-content: flex-end;
    gap: .25em;
    flex: 0 0 auto;
    min-width: var(--ai-chat-mode-cost-min);
    min-height: var(--ai-chat-mode-height);
    padding: 0 var(--ai-chat-mode-ring) 0 0;
    color: #16a34a;
    font-size: var(--ai-chat-mode-cost-font);
    font-weight: 900;
    line-height: 1;
    text-align: right;
    white-space: nowrap;
    font-variant-numeric: tabular-nums;
    pointer-events: auto;
}

.ai_chat_model_mode_cost.is_empty {
    display: none;
}

.ai_chat_model_mode_cost_currency {
    font-weight: 400;
}

.ai_chat_model_mode_wrap[data-fit="tight"] .ai_chat_model_mode_cost_currency {
    display: none;
}

.ai_chat_model_mode_wrap[data-fit="tiny"] .ai_chat_model_mode_cost {
    display: none;
}

.ai_chat_model_mode_input {
    position: absolute;
    width: 1px;
    height: 1px;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    border: 0;
    opacity: 0;
}

.ai_chat_model_mode_pill {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 auto;
    min-width: var(--ai-chat-mode-min);
    min-height: var(--ai-chat-mode-height);
    margin: 0;
    padding: 0 var(--ai-chat-mode-pad);
    border: 1px solid transparent;
    border-radius: 999px;
    color: #64748b;
    font-size: var(--ai-chat-mode-font);
    font-weight: 900;
    line-height: 1;
    letter-spacing: var(--ai-chat-mode-spacing);
    white-space: nowrap;
    cursor: pointer;
    user-select: none;
    -webkit-tap-highlight-color: transparent;
    transition: color .16s ease, background .16s ease, border-color .16s ease, box-shadow .16s ease, transform .16s ease;
}

.ai_chat_model_mode_wrap[data-fit="stack"] .ai_chat_model_mode_pill {
    flex: 1 1 auto;
}

.ai_chat_model_mode_pill:hover {
    color: #0f172a;
    background: rgba(111, 66, 193, .08);
}

.ai_chat_model_mode_input:checked + .ai_chat_model_mode_pill,
.ai_chat_model_mode_pill.is_active {
    color: #4c1d95;
    border-color: rgba(111, 66, 193, .28);
    background: linear-gradient(180deg, rgba(248, 245, 255, .98) 0%, rgba(237, 227, 255, .98) 100%);
    box-shadow: 0 8px 18px rgba(111, 66, 193, .12), inset 0 1px 0 rgba(255, 255, 255, .78);
}

.ai_chat_model_mode_input[value="Mega"]:checked + .ai_chat_model_mode_pill,
.ai_chat_model_mode_pill.is_active[data-mode="Mega"] {
    color: #3f2d00;
    border-color: rgba(217, 119, 6, .36);
    background: linear-gradient(180deg, #fff7cc 0%, #ffd84d 100%);
    box-shadow: 0 8px 18px rgba(217, 119, 6, .18), inset 0 1px 0 rgba(255, 255, 255, .74);
}

.ai_chat_model_mode_wrap[data-fit="stack"] .ai_chat_model_mode_input:checked + .ai_chat_model_mode_pill,
.ai_chat_model_mode_wrap[data-fit="stack"] .ai_chat_model_mode_pill.is_active {
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, .78);
}

.ai_chat_model_mode_input:focus-visible + .ai_chat_model_mode_pill {
    outline: 3px solid rgba(111, 66, 193, .18);
    outline-offset: 2px;
}

.ai_chat_model_mode_input:active + .ai_chat_model_mode_pill {
    transform: translateY(1px);
}

.ai_chat_model_mode_input:disabled + .ai_chat_model_mode_pill,
.ai_chat_model_mode_pill.is_disabled {
    color: #94a3b8;
    cursor: not-allowed;
    opacity: .62;
}

.ai_chat_model_mode_pill.is_disabled::before {
    content: '🔒';
    margin-right: .3em;
    font-size: .85em;
    opacity: .7;
}

.ai_chat_model_mode_pill.is_disabled:hover {
    opacity: .74;
}

.ai_chat_model_mode_wrap[data-fit="tight"] .ai_chat_model_mode_pill.is_disabled::before,
.ai_chat_model_mode_wrap[data-fit="tiny"] .ai_chat_model_mode_pill.is_disabled::before {
    display: none;
}

/* Fit: the modes wrap keeps its natural width (Read-only stays right next to it, on the left)
   and only shrinks when the toolbar is too narrow, so it never overlaps Read-only.
   Sizes adapt to the toolbar width with container queries (works with any number of modes).
   Toolbar width = modes width + Read-only (~100px) + "+" button (38px) + gaps. */
#ai_chat_compose_toolbar {
    container: ai_chat_modes / inline-size;
}

#ai_chat_msg_column #ai_chat_model_mode_wrap {
    flex: 0 1 auto;
    min-width: 0;
    max-width: none;
}

#ai_chat_msg_column #ai_chat_model_mode {
    flex: 0 1 auto;
    overflow-x: auto;
    overflow-y: hidden;
    scrollbar-width: none;
}

#ai_chat_msg_column #ai_chat_model_mode::-webkit-scrollbar {
    display: none;
}

@container ai_chat_modes (max-width: 600px) {
    .ai_chat_model_mode_control,
    .ai_chat_model_mode_cost {
        --ai-chat-mode-font: 11px;
        --ai-chat-mode-pad: 7px;
        --ai-chat-mode-height: 26px;
        --ai-chat-mode-min: 0px;
        --ai-chat-mode-gap: 3px;
        --ai-chat-mode-ring: 3px;
        --ai-chat-mode-cost-font: 12px;
        --ai-chat-mode-cost-min: 44px;
    }
}

@container ai_chat_modes (max-width: 520px) {
    .ai_chat_model_mode_control,
    .ai_chat_model_mode_cost {
        --ai-chat-mode-font: 10px;
        --ai-chat-mode-pad: 5px;
        --ai-chat-mode-height: 24px;
        --ai-chat-mode-gap: 2px;
        --ai-chat-mode-ring: 2px;
        --ai-chat-mode-spacing: 0;
        --ai-chat-mode-cost-font: 10px;
        --ai-chat-mode-cost-min: 0px;
    }

    .ai_chat_model_mode_cost_currency,
    .ai_chat_model_mode_pill.is_disabled::before {
        display: none;
    }
}

@container ai_chat_modes (max-width: 450px) {
    .ai_chat_model_mode_control {
        --ai-chat-mode-font: 9.5px;
        --ai-chat-mode-pad: 4px;
        --ai-chat-mode-height: 22px;
    }

    .ai_chat_model_mode_cost {
        display: none;
    }
}

/* ai/chat/+reports.css */
/* Report evidence is plain text inside the existing chat message component. */
#ai_chat_app .ai_chat_report_evidence {
    white-space: pre-wrap;
    overflow-wrap: anywhere;
    font: inherit;
    margin: 12px 0;
}

/* Source metadata inside <details>: a compact two-column table (key, value). */
#ai_chat_app .ai_chat_msg_text details .ai_chat_report_source {
    display: table;
    margin: 8px 0 0;
    border: 1px solid #d6dce6;
    border-collapse: collapse;
    table-layout: auto;
    background: #fff;
    color: #111827;
    font-family: inherit;
    font-size: 12px;
    white-space: normal;
}

#ai_chat_app .ai_chat_msg_text details .ai_chat_report_source th,
#ai_chat_app .ai_chat_msg_text details .ai_chat_report_source td {
    padding: 5px 8px;
    border: 1px solid #e2e8f0;
    text-align: left;
    vertical-align: top;
    white-space: normal;
    overflow-wrap: anywhere;
    word-break: break-word;
}

#ai_chat_app .ai_chat_msg_text details .ai_chat_report_source thead th {
    background: #f1f5f9;
    color: #475569;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: .04em;
    text-transform: uppercase;
}

#ai_chat_app .ai_chat_msg_text details .ai_chat_report_source tbody th {
    white-space: nowrap;
    background: #f8fafc;
    color: #334155;
    font-weight: 700;
}

html[data-bs-theme='dark'] #ai_chat_app .ai_chat_msg_text details .ai_chat_report_source {
    border-color: var(--ai-chat-border, #334155);
    background: var(--ai-chat-surface-alt, #0f172a);
    color: var(--ai-chat-text, #e5e7eb);
}

html[data-bs-theme='dark'] #ai_chat_app .ai_chat_msg_text details .ai_chat_report_source th,
html[data-bs-theme='dark'] #ai_chat_app .ai_chat_msg_text details .ai_chat_report_source td {
    border-color: var(--ai-chat-border, #334155);
}

html[data-bs-theme='dark'] #ai_chat_app .ai_chat_msg_text details .ai_chat_report_source thead th,
html[data-bs-theme='dark'] #ai_chat_app .ai_chat_msg_text details .ai_chat_report_source tbody th {
    background: var(--ai-chat-surface-elevated, #1e293b);
    color: var(--ai-chat-text-muted, #cbd5e1);
}

/* ai/chat/+theme_dark.css */
html[data-bs-theme='dark'] .ai_chat_read_only_switch {
    background: #dc2626;
}

html[data-bs-theme='dark'] .ai_chat_read_only_input:checked + .ai_chat_read_only_switch {
    background: #2563eb;
}

html[data-bs-theme='dark'] #ai_chat_app {
    --ai-chat-accent-rgb: var(--maxsim-ai-chat-accent-rgb, var(--maxsim-primary-rgb));
    --ai-chat-surface: var(--maxsim-surface-alt);
    --ai-chat-surface-alt: var(--maxsim-surface);
    --ai-chat-surface-elevated: var(--maxsim-surface-elevated);
    --ai-chat-surface-soft: rgba(255, 255, 255, .03);
    --ai-chat-border: var(--maxsim-border);
    --ai-chat-border-strong: var(--maxsim-border-strong);
    --ai-chat-text: var(--maxsim-text);
    --ai-chat-text-muted: var(--maxsim-text-muted);
    --ai-chat-hover-bg: rgba(var(--ai-chat-accent-rgb), .10);
    --ai-chat-hover-border: rgba(var(--ai-chat-accent-rgb), .24);
    --ai-chat-accent-bg: rgba(var(--ai-chat-accent-rgb), .18);
    --ai-chat-accent-bg-strong: rgba(var(--ai-chat-accent-rgb), .26);
    --ai-chat-accent-border: rgba(var(--ai-chat-accent-rgb), .34);
    --ai-chat-accent-text: var(--maxsim-ai-chat-accent-text, #e9ddff);
    --ai-chat-system-bg: rgba(148, 163, 184, .10);
    --ai-chat-system-border: rgba(148, 163, 184, .24);
    --ai-chat-danger-bg: rgba(220, 53, 69, .14);
    --ai-chat-danger-bg-strong: rgba(220, 53, 69, .22);
    --ai-chat-danger-text: #ff9aa5;
    --ai-chat-success-bg: rgba(34, 197, 94, .14);
    --ai-chat-success-border: rgba(34, 197, 94, .28);
    --ai-chat-success-text: #86efac;
    background: var(--ai-chat-surface);
    color: var(--ai-chat-text);
}

html[data-bs-theme='dark'] #ai_chat_sidebar,
html[data-bs-theme='dark'] #ai_chat_sidebar_header,
html[data-bs-theme='dark'] #ai_chat_input_wrap,
html[data-bs-theme='dark'] #ai_chat_header {
    background: var(--ai-chat-surface-alt);
    border-color: var(--ai-chat-border);
    color: var(--ai-chat-text);
}

html[data-bs-theme='dark'] #ai_chat_messages {
    background: linear-gradient(180deg, var(--ai-chat-surface-alt) 0%, var(--ai-chat-surface) 100%);
}

html[data-bs-theme='dark'] .ai_chat_filter_group,
html[data-bs-theme='dark'] .ai_chat_group_item {
    background: var(--ai-chat-surface-elevated);
    border-color: var(--ai-chat-border);
    color: var(--ai-chat-text);
    box-shadow: 0 1px 2px rgba(0, 0, 0, .24);
}

html[data-bs-theme='dark'] #ai_chat_projects_toggle,
html[data-bs-theme='dark'] #ai_chat_sidebar_close,
html[data-bs-theme='dark'] .ai_chat_jump_button,
html[data-bs-theme='dark'] #ai_chat_container_select,
html[data-bs-theme='dark'] #ai_chat_channel_select,
html[data-bs-theme='dark'] #ai_chat_agent_select,
html[data-bs-theme='dark'] #ai_chat_image_trigger,
html[data-bs-theme='dark'] #ai_chat_msg_input,
html[data-bs-theme='dark'] #ai_chat_image_clear,
html[data-bs-theme='dark'] .ai_chat_group_title_input {
    background: var(--ai-chat-surface-elevated);
    border-color: var(--ai-chat-border);
    color: var(--ai-chat-text);
}

html[data-bs-theme='dark'] .ai_chat_image_trigger_icon {
    background: rgba(var(--ai-chat-accent-rgb), .16);
    color: var(--ai-chat-accent-text);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, .04);
}

html[data-bs-theme='dark'] #ai_chat_image_trigger_action,
html[data-bs-theme='dark'] #ai_chat_image_clear {
    background: var(--ai-chat-surface-soft);
    border-color: var(--ai-chat-border);
    color: var(--ai-chat-text);
}

html[data-bs-theme='dark'] #ai_chat_projects_toggle:hover,
html[data-bs-theme='dark'] #ai_chat_sidebar_close:hover,
html[data-bs-theme='dark'] .ai_chat_jump_button:hover,
html[data-bs-theme='dark'] #ai_chat_image_trigger:hover,
html[data-bs-theme='dark'] #ai_chat_image_clear:hover {
    background: var(--ai-chat-hover-bg);
    border-color: var(--ai-chat-hover-border);
    color: var(--ai-chat-text);
}

html[data-bs-theme='dark'] .ai_chat_group_item:hover {
    border-color: var(--ai-chat-hover-border);
    background: var(--ai-chat-hover-bg);
}

html[data-bs-theme='dark'] .ai_chat_group_item.is_active {
    border-color: var(--ai-chat-accent-border);
    background: var(--ai-chat-accent-bg);
    color: var(--ai-chat-text);
}

/* "New chat" on dark surfaces: orange horizontal brushed metal, still the lightest control of the list. */
html[data-bs-theme='dark'] #ai_chat_groups_list .ai_chat_group_item[data-id-chat-group="-1"] {
    --ai_chat_new_chat_text: #ffd7b3;
    border-color: #8a5a2e;
    background-color: #4a3321;
    background-image: linear-gradient(90deg,
        #6a4424 0%,
        #4a3220 14%,
        #7a5330 27%,
        #523823 42%,
        #6c4826 56%,
        #4c3421 69%,
        #77502c 84%,
        #603f22 100%);
    box-shadow:
        inset 3px 0 0 #f97316,
        inset 0 1px 0 rgba(255, 255, 255, .16),
        inset 0 -1px 0 rgba(0, 0, 0, .38),
        0 8px 16px rgba(0, 0, 0, .30), 0 0 20px rgba(249, 115, 22, .12);
}

html[data-bs-theme='dark'] #ai_chat_groups_list .ai_chat_group_item[data-id-chat-group="-1"]:hover {
    border-color: #b57a45;
    box-shadow:
        inset 3px 0 0 #f97316,
        inset 0 1px 0 rgba(255, 255, 255, .20),
        inset 0 -1px 0 rgba(0, 0, 0, .40),
        0 8px 18px rgba(0, 0, 0, .40), 0 0 22px rgba(249, 115, 22, .18);
}

html[data-bs-theme='dark'] #ai_chat_groups_list .ai_chat_group_item[data-id-chat-group="-1"].is_active {
    border-color: #d08a4c;
    box-shadow:
        inset 3px 0 0 #f97316,
        inset 0 0 0 1px rgba(255, 190, 138, .30),
        inset 0 1px 0 rgba(255, 255, 255, .16),
        0 8px 18px rgba(0, 0, 0, .34), 0 0 22px rgba(249, 115, 22, .22);
}

html[data-bs-theme='dark'] #ai_chat_groups_list .ai_chat_group_item[data-id-chat-group="-1"] .ai_chat_group_title {
    text-shadow: 0 1px 0 rgba(0, 0, 0, .45);
}

html[data-bs-theme='dark'] #ai_chat_groups_list .ai_chat_group_item[data-id-chat-group="-1"] .ai_chat_group_main:focus-visible {
    outline-color: rgba(255, 190, 138, .72);
}

html[data-bs-theme='dark'] #ai_chat_image_wrap.is_selected #ai_chat_image_trigger {
    border-color: var(--ai-chat-accent-border);
    background: var(--ai-chat-accent-bg);
    box-shadow: 0 16px 28px rgba(0, 0, 0, .18), inset 0 1px 0 rgba(255, 255, 255, .03);
}

html[data-bs-theme='dark'] #ai_chat_image_wrap.is_selected #ai_chat_image_trigger_action {
    background: rgba(var(--ai-chat-accent-rgb), .18);
    border-color: rgba(var(--ai-chat-accent-rgb), .28);
    color: var(--ai-chat-accent-text);
}

html[data-bs-theme='dark'] #ai_chat_image_wrap.is_error #ai_chat_image_trigger {
    background: var(--ai-chat-danger-bg);
    border-color: rgba(220, 53, 69, .28);
}

html[data-bs-theme='dark'] #ai_chat_image_wrap.is_error .ai_chat_image_trigger_icon,
html[data-bs-theme='dark'] #ai_chat_image_wrap.is_error #ai_chat_image_trigger_action,
html[data-bs-theme='dark'] #ai_chat_image_wrap.is_error #ai_chat_image_clear {
    background: rgba(220, 53, 69, .16);
    border-color: rgba(220, 53, 69, .28);
    color: #ffb3bb;
}

html[data-bs-theme='dark'] .ai_chat_filter_row_label,
html[data-bs-theme='dark'] .ai_chat_filter_title,
html[data-bs-theme='dark'] #ai_chat_groups_empty,
html[data-bs-theme='dark'] #ai_chat_header_subtitle,
html[data-bs-theme='dark'] .ai_chat_msg_meta,
html[data-bs-theme='dark'] .ai_chat_msg_meta > .ai_chat_msg_time,
html[data-bs-theme='dark'] #ai_chat_image_status,
html[data-bs-theme='dark'] #ai_chat_image_trigger_hint,
html[data-bs-theme='dark'] #ai_chat_image_clear,
html[data-bs-theme='dark'] .ai_chat_model_mode_pill {
    color: var(--ai-chat-text-muted);
}

html[data-bs-theme='dark'] .ai_chat_group_title,
html[data-bs-theme='dark'] #ai_chat_header_title,
html[data-bs-theme='dark'] .ai_chat_msg_author,
html[data-bs-theme='dark'] .ai_chat_msg_text,
html[data-bs-theme='dark'] #ai_chat_image_trigger_title,
html[data-bs-theme='dark'] #ai_chat_image_trigger_action {
    color: var(--ai-chat-text);
}

html[data-bs-theme='dark'] #ai_chat_web_empty {
    color: var(--ai-chat-text-muted);
}

html[data-bs-theme='dark'] #ai_chat_web_link {
    color: var(--maxsim-link);
}

html[data-bs-theme='dark'] .ai_chat_msg_row.is_user .ai_chat_msg_author {
    color: #2563eb;
}

html[data-bs-theme='dark'] .ai_chat_msg_meta_log {
    color: var(--ai-chat-text-muted);
}

html[data-bs-theme='dark'] .ai_chat_msg_meta_email {
    color: var(--ai-chat-text-muted);
}

html[data-bs-theme='dark'] .ai_chat_msg_meta_access.is_read_only {
    color: var(--ai-chat-text-muted);
}

html[data-bs-theme='dark'] .ai_chat_msg_meta_access.is_write {
    color: var(--ai-chat-text-muted);
}

html[data-bs-theme='dark'] .ai_chat_msg_author.is_ai {
    color: var(--ai-chat-accent-text);
}

html[data-bs-theme='dark'] .ai_chat_model_mode_pill:hover {
    color: var(--ai-chat-text);
    background: var(--ai-chat-hover-bg);
}

html[data-bs-theme='dark'] .ai_chat_model_mode_input:checked + .ai_chat_model_mode_pill,
html[data-bs-theme='dark'] .ai_chat_model_mode_pill.is_active {
    color: var(--ai-chat-accent-text);
    border-color: var(--ai-chat-accent-border);
    background: var(--ai-chat-accent-bg);
    box-shadow: 0 10px 18px rgba(0, 0, 0, .20), inset 0 1px 0 rgba(255, 255, 255, .06);
}

html[data-bs-theme='dark'] .ai_chat_model_mode_input[value="Mega"]:checked + .ai_chat_model_mode_pill,
html[data-bs-theme='dark'] .ai_chat_model_mode_pill.is_active[data-mode="Mega"] {
    color: #fff7cc;
    border-color: rgba(250, 204, 21, .48);
    background: linear-gradient(180deg, rgba(250, 204, 21, .34) 0%, rgba(180, 83, 9, .82) 100%);
    box-shadow: 0 12px 22px rgba(250, 204, 21, .18), inset 0 1px 0 rgba(255, 255, 255, .12);
}

html[data-bs-theme='dark'] .ai_chat_model_mode_input:focus-visible + .ai_chat_model_mode_pill {
    outline-color: rgba(var(--ai-chat-accent-rgb), .28);
}

html[data-bs-theme='dark'] .ai_chat_group_menu_button {
    color: var(--ai-chat-text-muted);
    height: 20px;
}

html[data-bs-theme='dark'] .ai_chat_group_menu_button:hover {
    background: var(--ai-chat-hover-bg);
    color: var(--ai-chat-accent-text);
}

/* Opaque chip so the title behind the floating options button stays hidden */
html[data-bs-theme='dark'] .ai_chat_group_item {
    --ai_chat_group_chip_bg: var(--ai-chat-surface-elevated, #22262b);
}

html[data-bs-theme='dark'] .ai_chat_group_menu_button {
    box-shadow: 0 1px 3px rgba(0, 0, 0, .55);
}

html[data-bs-theme='dark'] .ai_chat_msg_delete {
    color: var(--ai-chat-danger-text);
}

html[data-bs-theme='dark'] .ai_chat_msg_delete:hover {
    background: var(--ai-chat-danger-bg);
    color: #ffb3bb;
}

html[data-bs-theme='dark'] #ai_chat_groups_search,
html[data-bs-theme='dark'] #ai_chat_palette_input {
    background: var(--ai-chat-surface-elevated);
    border-color: var(--ai-chat-border);
    color: var(--ai-chat-text);
}

html[data-bs-theme='dark'] #ai_chat_palette_input:focus {
    border-color: var(--ai-chat-accent-border);
    box-shadow: 0 0 0 3px rgba(var(--ai-chat-accent-rgb), .18);
}

html[data-bs-theme='dark'] #ai_chat_palette_input::placeholder {
    color: #6f7b87;
    opacity: 1;
}

html[data-bs-theme='dark'] #ai_chat_palette_open {
    background: var(--ai-chat-surface-elevated);
    border-color: var(--ai-chat-border);
    color: var(--ai-chat-text-muted);
}

html[data-bs-theme='dark'] #ai_chat_palette_open:hover {
    border-color: var(--ai-chat-hover-border);
    background: var(--ai-chat-hover-bg);
    color: var(--ai-chat-text);
}

html[data-bs-theme='dark'] .ai_chat_group_bucket,
html[data-bs-theme='dark'] .ai_chat_palette_item_meta,
html[data-bs-theme='dark'] #ai_chat_palette_empty {
    color: var(--ai-chat-text-muted);
}

html[data-bs-theme='dark'] .ai_chat_group_item.is_pinned {
    border-color: var(--ai-chat-accent-border);
}

html[data-bs-theme='dark'] .ai_chat_group_category_icon {
    box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .22);
}

html[data-bs-theme='dark'] #ai_chat_group_menu,
html[data-bs-theme='dark'] #ai_chat_palette_panel {
    background: var(--ai-chat-surface-elevated);
    border-color: var(--ai-chat-border);
    color: var(--ai-chat-text);
}

html[data-bs-theme='dark'] .ai_chat_group_menu_item {
    color: var(--ai-chat-text);
}

html[data-bs-theme='dark'] .ai_chat_group_menu_item:hover {
    background: var(--ai-chat-hover-bg);
}

html[data-bs-theme='dark'] .ai_chat_group_menu_item.is_danger {
    color: var(--ai-chat-danger-text);
}

html[data-bs-theme='dark'] .ai_chat_group_menu_item.is_danger:hover {
    background: var(--ai-chat-danger-bg);
}

html[data-bs-theme='dark'] .ai_chat_palette_item {
    color: var(--ai-chat-text);
}

html[data-bs-theme='dark'] .ai_chat_palette_item.is_active,
html[data-bs-theme='dark'] .ai_chat_palette_item:hover {
    background: var(--ai-chat-accent-bg);
}

html[data-bs-theme='dark'] #ai_chat_palette {
    background: rgba(2, 6, 23, .55);
}

html[data-bs-theme='dark'] .ai_chat_msg_row.is_editable .ai_chat_msg_text:hover {
}

html[data-bs-theme='dark'] .ai_chat_msg_text.is_ai {
    background: var(--ai-chat-accent-bg);
    border-color: var(--ai-chat-accent-border);
}

html[data-bs-theme='dark'] .ai_chat_msg_text.is_ai.is_mega {
    background: rgba(250, 204, 21, .08);
    border-color: rgba(250, 204, 21, .24);
}

html[data-bs-theme='dark'] .ai_chat_msg_text.is_ai button[data-ai-chat-insert],
html[data-bs-theme='dark'] .ai_chat_msg_text.is_ai select[data-ai-chat-insert] {
    background: rgba(255, 255, 255, .05);
    border-color: var(--ai-chat-accent-border);
    color: var(--ai-chat-accent-text);
    box-shadow: 0 8px 18px rgba(0, 0, 0, .18);
}

html[data-bs-theme='dark'] .ai_chat_msg_text.is_ai label:has(input[data-ai-chat-insert]) {
    background: rgba(255, 255, 255, .05);
    border-color: var(--ai-chat-accent-border);
    color: var(--ai-chat-accent-text);
    box-shadow: 0 8px 18px rgba(0, 0, 0, .18);
}

html[data-bs-theme='dark'] .ai_chat_msg_text.is_ai select[data-ai-chat-insert] option {
    background: var(--ai-chat-surface-elevated);
    color: var(--ai-chat-text);
}

html[data-bs-theme='dark'] .ai_chat_msg_text.is_ai input[data-ai-chat-insert][type="checkbox"],
html[data-bs-theme='dark'] .ai_chat_msg_text.is_ai input[data-ai-chat-insert][type="radio"] {
    accent-color: var(--ai-chat-accent-text);
}

html[data-bs-theme='dark'] .ai_chat_msg_text.is_ai button[data-ai-chat-insert]:hover,
html[data-bs-theme='dark'] .ai_chat_msg_text.is_ai select[data-ai-chat-insert]:hover {
    background: var(--ai-chat-accent-bg-strong);
    border-color: var(--ai-chat-accent-border);
    color: var(--ai-chat-text);
}

html[data-bs-theme='dark'] .ai_chat_msg_text.is_ai label:has(input[data-ai-chat-insert]):hover {
    background: var(--ai-chat-accent-bg-strong);
    border-color: var(--ai-chat-accent-border);
    color: var(--ai-chat-text);
}

html[data-bs-theme='dark'] .ai_chat_msg_text.is_ai button[data-ai-chat-insert]:focus-visible,
html[data-bs-theme='dark'] .ai_chat_msg_text.is_ai select[data-ai-chat-insert]:focus-visible {
    border-color: var(--ai-chat-accent-border);
    box-shadow: 0 0 0 3px rgba(var(--ai-chat-accent-rgb), .22), 0 8px 18px rgba(0, 0, 0, .20);
}

html[data-bs-theme='dark'] .ai_chat_msg_text.is_ai label:has(input[data-ai-chat-insert]):focus-within {
    border-color: var(--ai-chat-accent-border);
    box-shadow: 0 0 0 3px rgba(var(--ai-chat-accent-rgb), .22), 0 8px 18px rgba(0, 0, 0, .20);
}

html[data-bs-theme='dark'] .ai_chat_msg_text.is_ai button[data-ai-chat-insert].is_inserted,
html[data-bs-theme='dark'] .ai_chat_msg_text.is_ai select[data-ai-chat-insert].is_inserted,
html[data-bs-theme='dark'] .ai_chat_msg_text.is_ai input[data-ai-chat-insert].is_inserted {
    background: var(--ai-chat-success-bg);
    border-color: var(--ai-chat-success-border);
    color: var(--ai-chat-success-text);
}

html[data-bs-theme='dark'] .ai_chat_msg_text.is_ai label:has(input[data-ai-chat-insert].is_inserted) {
    background: var(--ai-chat-success-bg);
    border-color: var(--ai-chat-success-border);
    color: var(--ai-chat-success-text);
}

html[data-bs-theme='dark'] .ai_chat_msg_text.is_ai button[data-ai-chat-insert].is_removed,
html[data-bs-theme='dark'] .ai_chat_msg_text.is_ai select[data-ai-chat-insert].is_removed,
html[data-bs-theme='dark'] .ai_chat_msg_text.is_ai input[data-ai-chat-insert].is_removed {
    background: var(--ai-chat-danger-bg);
    border-color: var(--ai-chat-danger-bg-strong);
    color: var(--ai-chat-danger-text);
}

html[data-bs-theme='dark'] .ai_chat_msg_text.is_ai label:has(input[data-ai-chat-insert].is_removed) {
    background: var(--ai-chat-danger-bg);
    border-color: var(--ai-chat-danger-bg-strong);
    color: var(--ai-chat-danger-text);
}

html[data-bs-theme='dark'] .ai_chat_msg_row.is_pending_ai .ai_chat_msg_text.is_ai.is_activity_host {
    background: rgba(148, 163, 184, .14);
    border-color: rgba(148, 163, 184, .24);
}

html[data-bs-theme='dark'] .ai_chat_msg_row.is_pending_ai .ai_chat_msg_text.is_ai.is_activity_host.is_mega {
    background: rgba(250, 204, 21, .12);
    border-color: rgba(250, 204, 21, .32);
}

html[data-bs-theme='dark'] .ai_chat_msg_text.is_system {
    background: var(--ai-chat-system-bg);
    border-color: var(--ai-chat-system-border);
}

html[data-bs-theme='dark'] .ai_chat_msg_text code {
    border-color: rgba(var(--ai-chat-accent-rgb), .34);
    background: rgba(3, 7, 14, .62);
    color: #f9a8d4;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, .04);
}

html[data-bs-theme='dark'] .ai_chat_msg_text pre {
    border-color: var(--ai-chat-border);
    background: rgba(3, 7, 14, .62);
}

html[data-bs-theme='dark'] .ai_chat_msg_text pre code {
    border: 0;
    background: transparent;
    color: inherit;
    box-shadow: none;
}

html[data-bs-theme='dark'] .ai_chat_alert {
    background: rgba(250, 204, 21, .10);
    border-color: rgba(250, 204, 21, .30);
    color: #fde68a;
    box-shadow: 0 12px 28px rgba(0, 0, 0, .32);
}

html[data-bs-theme='dark'] .ai_chat_alert_close {
    color: #fde68a;
}

html[data-bs-theme='dark'] .ai_chat_alert_close:hover {
    color: #fff7cc;
}

html[data-bs-theme='dark'] .ai_chat_msg_attachment img {
    background: var(--ai-chat-surface-alt);
    border-color: var(--ai-chat-border);
}

html[data-bs-theme='dark'] .ai_chat_msg_text.is_ai table {
    background: var(--ai-chat-surface-alt);
    border-color: var(--ai-chat-accent-border);
}

html[data-bs-theme='dark'] .ai_chat_msg_text.is_ai thead th {
    background: var(--ai-chat-accent-bg-strong);
    color: var(--ai-chat-accent-text);
    border-bottom-color: var(--ai-chat-accent-border);
}

html[data-bs-theme='dark'] .ai_chat_msg_text.is_ai td,
html[data-bs-theme='dark'] .ai_chat_msg_text.is_ai th {
    border-right-color: var(--ai-chat-border);
    border-bottom-color: var(--ai-chat-border);
}

html[data-bs-theme='dark'] #ai_chat_container_select:focus,
html[data-bs-theme='dark'] #ai_chat_channel_select:focus,
html[data-bs-theme='dark'] #ai_chat_agent_select:focus,
html[data-bs-theme='dark'] #ai_chat_msg_input:focus,
html[data-bs-theme='dark'] #ai_chat_image_trigger:focus-visible,
html[data-bs-theme='dark'] #ai_chat_image_clear:focus-visible,
html[data-bs-theme='dark'] #ai_chat_image_input:focus-visible + #ai_chat_image_trigger,
html[data-bs-theme='dark'] .ai_chat_group_title_input:focus {
    border-color: var(--ai-chat-accent-border);
    box-shadow: 0 0 0 3px rgba(var(--ai-chat-accent-rgb), .18);
}

html[data-bs-theme='dark'] #ai_chat_msg_input.is_ai {
    border-color: var(--ai-chat-accent-border);
    box-shadow: 0 0 0 .16rem rgba(var(--ai-chat-accent-rgb), .18);
}

html[data-bs-theme='dark'] #ai_chat_msg_input.is_ai::placeholder {
    color: var(--ai-chat-accent-text);
}

html[data-bs-theme='dark'] #ai_chat_msg_input::placeholder,
html[data-bs-theme='dark'] .ai_chat_group_title_input::placeholder {
    color: #6f7b87;
    opacity: 1;
}

html[data-bs-theme='dark'] #ai_chat_sidebar_backdrop {
    background: rgba(3, 7, 12, .68);
}

html[data-bs-theme='dark'] #ai_chat_send_ai:disabled {
    background: rgba(var(--ai-chat-accent-rgb), .48);
    border-color: rgba(var(--ai-chat-accent-rgb), .48);
    color: var(--ai-chat-accent-text);
}

html[data-bs-theme='dark'] #ai_chat_input_row {
    background: linear-gradient(180deg, rgba(18, 25, 39, .96) 0%, rgba(12, 18, 29, .98) 100%);
    border-color: var(--ai-chat-border);
    box-shadow: 0 18px 34px rgba(0, 0, 0, .28);
}

html[data-bs-theme='dark'] #ai_chat_input_row:focus-within {
}

html[data-bs-theme='dark'] .ai_chat_model_mode_control,
html[data-bs-theme='dark'] .ai_chat_agent_mode_control {
    background: rgba(255, 255, 255, .03);
    border-color: var(--ai-chat-border);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, .03);
}

html[data-bs-theme='dark'] .ai_chat_read_only_control {
    color: #ff9aa5;
    border-color: rgba(239, 68, 68, .28);
    background: rgba(239, 68, 68, .08);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, .03);
}

html[data-bs-theme='dark'] .ai_chat_read_only_control:has(.ai_chat_read_only_input:checked) {
    color: #8cc1ff;
    border-color: rgba(37, 99, 235, .28);
    background: rgba(37, 99, 235, .08);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, .03);
}

html[data-bs-theme='dark'] .ai_chat_model_mode_cost {
    color: #86efac;
}

html[data-bs-theme='dark'] .ai_chat_agent_mode_control:focus-within {
    border-color: var(--ai-chat-accent-border);
    box-shadow: 0 0 0 3px rgba(var(--ai-chat-accent-rgb), .18), inset 0 1px 0 rgba(255, 255, 255, .03);
}

html[data-bs-theme='dark'] #ai_chat_msg_input,
html[data-bs-theme='dark'] #ai_chat_msg_input.is_ai {
    background: transparent;
    border-color: transparent;
    box-shadow: none;
}

html[data-bs-theme='dark'] #ai_chat_msg_input:focus {
    border-color: transparent;
    box-shadow: none;
}

html[data-bs-theme='dark'] #ai_chat_send_column {
    background: linear-gradient(180deg, rgba(21, 30, 47, .98) 0%, rgba(13, 20, 33, .98) 100%);
    border-left-color: var(--ai-chat-border);
}

html[data-bs-theme='dark'] #ai_chat_send,
html[data-bs-theme='dark'] #ai_chat_send_ai {
    border-radius: 0;
    box-shadow: none;
}

html[data-bs-theme='dark'] #ai_chat_send {
    border-bottom: 1px solid var(--ai-chat-border);
}

html[data-bs-theme='dark'] #ai_chat_image_trigger {
    background: rgba(255, 255, 255, .04);
    border-color: var(--ai-chat-border);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, .04);
}

html[data-bs-theme='dark'] #ai_chat_image_trigger:hover {
    background: var(--ai-chat-hover-bg);
    border-color: var(--ai-chat-hover-border);
}

html[data-bs-theme='dark'] .ai_chat_image_trigger_icon {
    background: transparent;
    color: var(--ai-chat-accent-text);
    box-shadow: none;
}

html[data-bs-theme='dark'] #ai_chat_image_clear {
    background: rgba(255, 255, 255, .04);
    border-color: var(--ai-chat-border);
    color: var(--ai-chat-text-muted);
}

html[data-bs-theme='dark'] #ai_chat_image_wrap.is_selected #ai_chat_image_trigger {
    background: rgba(var(--ai-chat-accent-rgb), .16);
    border-color: var(--ai-chat-accent-border);
    box-shadow: 0 10px 18px rgba(0, 0, 0, .20);
}

html[data-bs-theme='dark'] #ai_chat_image_wrap.is_error #ai_chat_image_trigger {
    background: var(--ai-chat-danger-bg);
    border-color: rgba(220, 53, 69, .28);
    box-shadow: 0 10px 18px rgba(0, 0, 0, .20);
}

@media (max-width: 900px) {
html[data-bs-theme='dark'] #ai_chat_header {
        background: linear-gradient(90deg, rgba(10, 16, 30, .84) 0%, rgba(10, 16, 30, .72) 72%, rgba(10, 16, 30, .58) 100%);
        box-shadow: 0 10px 24px rgba(0, 0, 0, .16);
        backdrop-filter: blur(10px);
        -webkit-backdrop-filter: blur(10px);
    }
html[data-bs-theme='dark'] #ai_chat_header::after {
        background: linear-gradient(180deg, rgba(10, 16, 30, .40) 0%, rgba(10, 16, 30, 0) 100%);
    }
}

/* ai/chat/+theme_dark_extra.css */
html[data-bs-theme='dark'] #ai_chat_input_row {
    border-color: var(--ai-chat-border);
    background: var(--ai-chat-surface-elevated);
}

html[data-bs-theme='dark'] #ai_chat_msg_input {
    background: transparent;
}

html[data-bs-theme='dark'] #ai_chat_send_column {
    border-left-color: var(--ai-chat-border);
    background: transparent;
}

html[data-bs-theme='dark'] #ai_chat_send {
    border-bottom-color: var(--ai-chat-border);
}

html[data-bs-theme='dark'] .ai_chat_msg_row.is_user:not(.is_editable):not(.is_editing) .ai_chat_msg_text {
    border: 1px solid rgba(32, 210, 228, .40);
    background: rgba(32, 210, 228, .16);
    color: var(--ai-chat-text);
    box-shadow: 0 0 24px rgba(32, 210, 228, .08);
}

html[data-bs-theme='dark'] .ai_chat_msg_row.is_user .ai_chat_msg_author {
    color: #6fe3f0;
    text-shadow: 0 0 16px rgba(32, 210, 228, .38);
}

html[data-bs-theme='dark'] .ai_chat_group_item.is_active {
    box-shadow: inset 2px 0 0 rgba(var(--ai-chat-accent-rgb), 1), 0 10px 20px rgba(0, 0, 0, .22), 0 0 22px rgba(var(--ai-chat-accent-rgb), .10);
}

html[data-bs-theme='dark'] #ai_chat_container_select optgroup {
    color: var(--ai-chat-text-muted);
    font-size: 11px;
    font-weight: 800;
    letter-spacing: .10em;
}

html[data-bs-theme='dark'] #ai_chat_container_select option {
    padding: 5px 8px;
    color: var(--ai-chat-text);
    font-weight: 600;
}

html[data-bs-theme='dark'] #ai_chat_container_select option:checked {
    background: linear-gradient(180deg, rgba(var(--ai-chat-accent-rgb), .34) 0%, rgba(var(--ai-chat-accent-rgb), .22) 100%);
    color: #ffffff;
}

html[data-bs-theme='dark'] #ai_chat_messages,
html[data-bs-theme='dark'] #ai_chat_sidebar_scroll,
html[data-bs-theme='dark'] #ai_chat_container_select,
html[data-bs-theme='dark'] #ai_chat_groups_list {
    scrollbar-color: rgba(91, 140, 255, .44) transparent;
}

html[data-bs-theme='dark'] #ai_chat_messages::-webkit-scrollbar-thumb,
html[data-bs-theme='dark'] #ai_chat_sidebar_scroll::-webkit-scrollbar-thumb,
html[data-bs-theme='dark'] #ai_chat_container_select::-webkit-scrollbar-thumb,
html[data-bs-theme='dark'] #ai_chat_groups_list::-webkit-scrollbar-thumb {
    border: 2px solid transparent;
    border-radius: 999px;
    background: linear-gradient(180deg, #22345a 0%, #4f7dde 100%);
    background-clip: padding-box;
}

html[data-bs-theme='dark'] #ai_chat_messages::-webkit-scrollbar-thumb:hover,
html[data-bs-theme='dark'] #ai_chat_sidebar_scroll::-webkit-scrollbar-thumb:hover,
html[data-bs-theme='dark'] #ai_chat_container_select::-webkit-scrollbar-thumb:hover,
html[data-bs-theme='dark'] #ai_chat_groups_list::-webkit-scrollbar-thumb:hover {
    background: linear-gradient(180deg, #2e4472 0%, #5b8cff 100%);
    background-clip: padding-box;
}

/* ai/chat/+theme_light.css */
#ai_chat_app {
    --ai-chat-primary-rgb: 55, 129, 250;
    --ai-chat-ai-rgb: 111, 66, 193;
    --ai-chat-border-soft: rgba(var(--ai-chat-primary-rgb), .12);
    background:
        radial-gradient(560px 300px at 100% 0%, rgba(var(--ai-chat-primary-rgb), .05) 0%, rgba(var(--ai-chat-primary-rgb), 0) 60%),
        radial-gradient(520px 300px at 0% 100%, rgba(32, 210, 228, .05) 0%, rgba(32, 210, 228, 0) 55%),
        #ffffff;
}

#ai_chat_sidebar {
    border-right: 1px solid rgba(var(--ai-chat-primary-rgb), .12);
    background:
        radial-gradient(420px 240px at 8% -4%, rgba(var(--ai-chat-primary-rgb), .09) 0%, rgba(var(--ai-chat-primary-rgb), 0) 60%),
        linear-gradient(180deg, #fbfdff 0%, #f4f8fd 100%);
}

.ai_chat_filter_group {
    border: 1px solid rgba(var(--ai-chat-primary-rgb), .12);
    border-radius: 16px;
    background: rgba(255, 255, 255, .94);
    box-shadow: 0 12px 26px rgba(var(--ai-chat-primary-rgb), .06);
}

.ai_chat_filter_group + .ai_chat_filter_group {
    margin-top: 14px;
}

.ai_chat_filter_row_label,
.ai_chat_filter_title {
    color: #6b7c99;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: .12em;
    text-transform: uppercase;
}

#ai_chat_container_select optgroup {
    color: #8396b9;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: .10em;
}

#ai_chat_container_select option {
    padding: 5px 8px;
    color: #172033;
    font-weight: 600;
}

#ai_chat_container_select option:checked {
    background: linear-gradient(180deg, rgba(55, 129, 250, .16) 0%, rgba(55, 129, 250, .10) 100%);
    color: #0f172a;
}

#ai_chat_container_select:focus,
#ai_chat_channel_select:focus,
#ai_chat_agent_select:focus {
    border-color: rgba(var(--ai-chat-primary-rgb), .34);
    box-shadow: 0 0 0 3px rgba(var(--ai-chat-primary-rgb), .12);
}

.ai_chat_group_item {
    border: 1px solid transparent;
    border-radius: 14px;
    background: transparent;
    padding: 7px 10px;
}

.ai_chat_group_item:hover {
    border-color: rgba(var(--ai-chat-ai-rgb), .12);
    background: rgba(255, 255, 255, .78);
    box-shadow: 0 8px 18px rgba(var(--ai-chat-ai-rgb), .07);
}

.ai_chat_group_item.is_active {
    border-color: rgba(var(--ai-chat-ai-rgb), .18);
    background: linear-gradient(180deg, #ffffff 0%, #f6f1ff 100%);
    box-shadow: inset 2px 0 0 var(--maxsim-ai), 0 12px 24px rgba(var(--ai-chat-ai-rgb), .11);
}

.ai_chat_group_title_input {
    border-color: rgba(var(--ai-chat-ai-rgb), .30);
    box-shadow: 0 0 0 3px rgba(var(--ai-chat-ai-rgb), .10);
}

#ai_chat_messages {
    background:
        radial-gradient(640px 340px at 85% -8%, rgba(var(--ai-chat-primary-rgb), .05) 0%, rgba(var(--ai-chat-primary-rgb), 0) 62%),
        radial-gradient(560px 320px at -10% 108%, rgba(32, 210, 228, .045) 0%, rgba(32, 210, 228, 0) 58%),
        #ffffff;
}

.ai_chat_msg_row.is_user:not(.is_editable):not(.is_editing) .ai_chat_msg_text {
    border: 1px solid rgba(var(--ai-chat-primary-rgb), .18);
    border-radius: 12px;
    background: linear-gradient(180deg, #f3f8ff 0%, #ecf3fe 100%);
    padding: 10px 12px;
}

.ai_chat_msg_text.is_ai {
    border: 1px solid rgba(var(--ai-chat-ai-rgb), .18);
    background: linear-gradient(180deg, #f8f4ff 0%, #f3edff 100%);
    box-shadow: 0 10px 22px rgba(var(--ai-chat-ai-rgb), .06);
}

#ai_chat_web_link:hover {
    color: var(--maxsim-primary);
}

#ai_chat_web_link:focus-visible {
    box-shadow: 0 0 0 3px rgba(var(--ai-chat-primary-rgb), .14);
}

.ai_chat_jump_button {
    border: 1px solid rgba(var(--ai-chat-primary-rgb), .16);
    background: rgba(255, 255, 255, .92);
    color: #334155;
    box-shadow: 0 10px 22px rgba(var(--ai-chat-primary-rgb), .10);
}

.ai_chat_jump_button:hover {
    border-color: rgba(var(--ai-chat-primary-rgb), .28);
    background: rgba(var(--ai-chat-primary-rgb), .08);
    color: var(--maxsim-primary);
}

#ai_chat_new_messages {
    border: 1px solid rgba(39, 98, 222, .45);
    background: linear-gradient(180deg, #4b91ff 0%, #2762de 100%);
    box-shadow: 0 12px 26px rgba(39, 98, 222, .30);
}

#ai_chat_new_messages:hover,
#ai_chat_new_messages:focus-visible {
    border-color: #2762de;
    background: linear-gradient(180deg, #5a9aff 0%, #2f6ae5 100%);
}

#ai_chat_send_column {
    border-left: 1px solid rgba(var(--ai-chat-primary-rgb), .10);
    background: transparent;
}

#ai_chat_send {
    border-bottom: 1px solid rgba(var(--ai-chat-primary-rgb), .10);
}

#ai_chat_send_ai {
    border-color: #6f42c1;
    background: linear-gradient(180deg, #7c4ddb 0%, #6f42c1 100%);
    color: #ffffff;
}

#ai_chat_send_ai:hover,
#ai_chat_send_ai:focus-visible {
    border-color: #7a4bcc;
    background: linear-gradient(180deg, #8a5ce6 0%, #7a4bcc 100%);
    color: #ffffff;
}

#ai_chat_send_ai:disabled {
    border-color: #d8c7ff;
    background: #d8c7ff;
    color: #5b3b9f;
}

#ai_chat_messages,
#ai_chat_sidebar_scroll,
#ai_chat_container_select,
#ai_chat_groups_list {
    scrollbar-width: thin;
    scrollbar-color: rgba(var(--ai-chat-primary-rgb), .30) transparent;
}

#ai_chat_messages::-webkit-scrollbar,
#ai_chat_sidebar_scroll::-webkit-scrollbar,
#ai_chat_container_select::-webkit-scrollbar,
#ai_chat_groups_list::-webkit-scrollbar {
    width: 10px;
}

#ai_chat_messages::-webkit-scrollbar-thumb,
#ai_chat_sidebar_scroll::-webkit-scrollbar-thumb,
#ai_chat_container_select::-webkit-scrollbar-thumb,
#ai_chat_groups_list::-webkit-scrollbar-thumb {
    border: 2px solid transparent;
    border-radius: 999px;
    background: rgba(var(--ai-chat-primary-rgb), .22);
    background-clip: padding-box;
}

#ai_chat_messages::-webkit-scrollbar-thumb:hover,
#ai_chat_sidebar_scroll::-webkit-scrollbar-thumb:hover,
#ai_chat_container_select::-webkit-scrollbar-thumb:hover,
#ai_chat_groups_list::-webkit-scrollbar-thumb:hover {
    background: rgba(var(--ai-chat-primary-rgb), .38);
    background-clip: padding-box;
}

@media (min-width: 901px) {
#ai_chat_input_wrap {
        border-top: 1px solid rgba(var(--ai-chat-primary-rgb), .10);
        background: linear-gradient(180deg, rgba(251, 253, 255, .98) 0%, rgba(243, 248, 253, .98) 100%);
    }
#ai_chat_input_row {
        border: 1px solid rgba(var(--ai-chat-primary-rgb), .16);
        border-radius: 20px;
        box-shadow: 0 16px 38px rgba(var(--ai-chat-primary-rgb), .08);
    }
#ai_chat_input_row:focus-within {
        border-color: rgba(var(--ai-chat-primary-rgb), .38);
        box-shadow: 0 16px 38px rgba(var(--ai-chat-primary-rgb), .10), 0 0 0 3px rgba(var(--ai-chat-primary-rgb), .10);
    }
}

@media (max-width: 720px) {
#ai_chat_messages .ai_chat_msg_row.is_user:not(.is_editing) .ai_chat_msg_text {
        border: 0;
        border-radius: 0;
        background: transparent;
        padding: 0;
    }
}

body:not(.template-dark) .ai_chat_msg_row.is_user:not(.is_editable):not(.is_editing) .ai_chat_msg_text {
    border-color: rgba(var(--ai-chat-primary-rgb), .42);
    background: linear-gradient(180deg, #e2eefe 0%, #d8e8fd 100%);
    box-shadow: inset 3px 0 0 rgba(var(--ai-chat-primary-rgb), .85), 0 5px 12px rgba(var(--ai-chat-primary-rgb), .07);
}

body:not(.template-dark) .ai_chat_msg_row.is_user:not(.is_editable):not(.is_editing):hover .ai_chat_msg_text {
    border-color: rgba(var(--ai-chat-primary-rgb), .58);
}

body:not(.template-dark) .ai_chat_msg_row.is_user .ai_chat_msg_author {
    color: #1d4ed8;
}

body:not(.template-dark) .ai_chat_msg_text.is_ai {
    border-color: rgba(var(--ai-chat-ai-rgb), .22);
    background: linear-gradient(180deg, #f1e9fe 0%, #e9dffd 100%);
    box-shadow: inset 3px 0 0 rgba(var(--ai-chat-ai-rgb), .45), 0 6px 13px rgba(var(--ai-chat-ai-rgb), .07);
}

body:not(.template-dark) .ai_chat_msg_row.is_ai:hover .ai_chat_msg_text.is_ai {
    border-color: rgba(var(--ai-chat-ai-rgb), .32);
}

body:not(.template-dark) .ai_chat_msg_text.is_ai.is_mega {
    border-color: rgba(217, 119, 6, .22);
    background: linear-gradient(180deg, #fffef6 0%, #fff9d6 100%);
    box-shadow: inset 3px 0 0 rgba(234, 179, 8, .38), 0 6px 13px rgba(217, 119, 6, .05);
}

body:not(.template-dark) .ai_chat_msg_row.is_ai:hover .ai_chat_msg_text.is_ai.is_mega {
    border-color: rgba(217, 119, 6, .36);
}

body:not(.template-dark) .ai_chat_msg_row.is_pending_ai .ai_chat_msg_text.is_ai.is_activity_host.is_mega {
    background: linear-gradient(180deg, #fffef6 0%, #fff9d6 100%);
    border-color: rgba(217, 119, 6, .22);
    box-shadow: inset 3px 0 0 rgba(234, 179, 8, .38), 0 6px 13px rgba(217, 119, 6, .05);
}

body:not(.template-dark) .ai_chat_msg_author.is_ai {
    color: #5b32a8;
}

body:not(.template-dark) .ai_chat_group_item.is_active {
    border-color: rgba(var(--ai-chat-ai-rgb), .26);
    background: linear-gradient(180deg, #ffffff 0%, #efe5ff 100%);
    box-shadow: inset 3px 0 0 var(--maxsim-ai), inset 0 0 0 1px rgba(var(--ai-chat-ai-rgb), .14), 0 14px 28px rgba(var(--ai-chat-ai-rgb), .16);
}

@media (max-width: 720px) {
body:not(.template-dark) #ai_chat_messages .ai_chat_msg_row.is_user .ai_chat_msg_text,
body:not(.template-dark) #ai_chat_messages .ai_chat_msg_text.is_ai {
        box-shadow: none;
    }
}

@media (min-width: 901px) {
#ai_chat_sidebar { width: 240px; min-width: 240px; }
#ai_chat_sidebar_scroll { padding: 6px; }
.ai_chat_filter_group { --ai-chat-filter-padding-y: 5px; --ai-chat-filter-padding-x: 7px; gap: 5px; }
.ai_chat_filter_group + .ai_chat_filter_group { margin-top: 14px; }
#ai_chat_groups_list { gap: 4px; }
.ai_chat_group_item { gap: 6px; padding: 4px 6px; }
.ai_chat_group_main { padding: 1px 2px; }
#ai_chat_container_select,
#ai_chat_channel_select,
#ai_chat_agent_select { min-height: 32px; }
}

/* ai/chat/+theme_zz_groups_compact.css */
/* CHATS list: compact rows, bold only for titles renamed by hand. */
#ai_chat_groups_list {
    gap: 1px;
}

#ai_chat_groups_list .ai_chat_group_item {
    gap: 4px;
    padding: 2px 6px;
    border-radius: 8px;
}

#ai_chat_groups_list .ai_chat_group_main {
    padding: 0 2px;
}

#ai_chat_groups_list .ai_chat_group_title {
    font-size: 14.5px;
    font-weight: 400;
    line-height: 1.25;
}

#ai_chat_groups_list .ai_chat_group_title.is_manual {
    font-weight: 700;
}

#ai_chat_groups_list .ai_chat_group_title_row {
    gap: 4px;
}

#ai_chat_groups_list .ai_chat_group_state_dot {
    margin-top: 4px;
}

#ai_chat_groups_list .ai_chat_group_bucket {
    padding: 3px 4px 0 4px;
}

#ai_chat_groups_list .ai_chat_group_menu_button {
    top: 1px;
    height: 18px;
}

#ai_chat_groups_list .ai_chat_group_title_input {
    padding: 1px 6px;
    font-size: 14.5px;
    font-weight: 700;
}

