/* Keep the attachment menu reachable above the main composer. */
#chatView .chat-input-area {
    overflow: visible !important;
}

#chatView .chat-input-area #mainAttachBtn {
    position: relative !important;
    z-index: 3 !important;
    pointer-events: auto !important;
}

#chatView .chat-input-area #attachMenuPopover {
    position: absolute !important;
    z-index: 10000 !important;
    pointer-events: auto !important;
}

#chatView .chat-input-area #attachMenuPopover[style*="display: flex"] {
    visibility: visible !important;
    opacity: 1 !important;
}

#chatView .chat-input-area #attachMenuPopover .attach-menu-item {
    pointer-events: auto !important;
}

/* Keep selected-file chips visible and above the composer surface. */
#chatView .input-wrapper {
    position: relative !important;
    z-index: 2 !important;
}

#chatView #attachmentPreviewWrap[style*="display: block"] {
    display: block !important;
    position: relative !important;
    z-index: 4 !important;
    visibility: visible !important;
    opacity: 1 !important;
}

#chatView #attachmentPreview {
    display: flex !important;
    min-height: 64px !important;
    visibility: visible !important;
}

/* Background generation status stays readable in the expanded sidebar. */
.sidebar-gen-item {
    position: relative !important;
    min-height: 48px !important;
    padding: 9px 12px 9px 38px !important;
    box-sizing: border-box !important;
}

.sidebar-gen-state {
    position: absolute !important;
    left: 12px !important;
    top: 50% !important;
    width: 22px !important;
    height: 22px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    color: var(--text-secondary) !important;
    transform: translateY(-50%) !important;
}

.sidebar-gen-state svg {
    width: 19px !important;
    height: 19px !important;
}

.sidebar-gen-check {
    display: block !important;
    overflow: visible !important;
}

.sidebar-gen-spinner {
    width: 20px !important;
    height: 20px !important;
    display: block !important;
    border: 2.2px solid rgba(255, 255, 255, 0.18) !important;
    border-top-color: var(--text-primary) !important;
    border-radius: 50% !important;
    animation: logicumSidebarSpin 800ms linear infinite !important;
}

.sidebar-gen-item.is-complete .sidebar-gen-state {
    color: var(--text-primary) !important;
    animation: logicumSidebarDone 180ms ease-out both !important;
}

.sidebar-gen-title {
    font-size: 13.5px !important;
}

.sidebar-gen-detail {
    font-size: 11px !important;
}

/* The collapsed rail shows only a quiet status glyph, never clipped text. */
body.sidebar-collapsed .active-generations-container {
    display: block !important;
    width: 72px !important;
    padding: 8px 0 !important;
    margin: 0 !important;
}

body.sidebar-collapsed .sidebar-gen-item {
    width: 52px !important;
    height: 46px !important;
    min-height: 46px !important;
    margin: 0 auto !important;
    padding: 0 !important;
    border-radius: 12px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
}

body.sidebar-collapsed .sidebar-gen-state {
    position: static !important;
    transform: none !important;
}

body.sidebar-collapsed .sidebar-gen-info,
body.sidebar-collapsed .sidebar-gen-bar-bg,
body.sidebar-collapsed .sidebar-gen-detail {
    display: none !important;
}

@keyframes logicumSidebarSpin {
    to { transform: rotate(360deg); }
}

@keyframes logicumSidebarDone {
    from { opacity: 0; transform: translateX(-3px); }
    to { opacity: 1; transform: translateX(0); }
}
