/* Approfondisci uses a two-level rectangular composer: text above, actions below. */
.side-chat-input-area,
.side-chat-input-area:hover,
.side-chat-input-area:focus-within,
.side-chat-input-area.is-listening {
    display: grid !important;
    grid-template-columns: 32px minmax(0, 1fr) 32px !important;
    grid-template-rows: minmax(62px, auto) 30px !important;
    align-items: stretch !important;
    min-height: 110px !important;
    height: auto !important;
    max-height: none !important;
    padding: 10px 12px 9px !important;
    gap: 8px 8px !important;
    box-sizing: border-box !important;
    border: 0 !important;
    border-color: transparent !important;
    border-radius: 12px !important;
    background: rgba(255, 255, 255, 0.055) !important;
    box-shadow: none !important;
    outline: none !important;
    transform: none !important;
    transition: background-color 120ms ease, border-color 120ms ease !important;
}

.side-chat-input-area:focus-within {
    border-color: transparent !important;
    background: rgba(255, 255, 255, 0.055) !important;
    box-shadow: none !important;
}

.side-chat-input-area #sideChatInput,
.side-chat-input-area #sideChatInput:hover,
.side-chat-input-area #sideChatInput:focus {
    grid-column: 1 / -1 !important;
    grid-row: 1 !important;
    align-self: stretch !important;
    width: auto !important;
    min-width: 0 !important;
    min-height: 62px !important;
    height: var(--logicum-chat-input-height, 62px) !important;
    max-height: 188px !important;
    overflow-x: hidden !important;
    overflow-y: auto !important;
    padding: 7px 2px 4px !important;
    border: 0 !important;
    border-radius: 6px !important;
    background: transparent !important;
    box-shadow: none !important;
    outline: none !important;
    resize: none !important;
    line-height: 1.45 !important;
}

.side-chat-input-area .side-attach-btn,
.side-chat-input-area .side-voice-btn,
.side-chat-input-area .side-send-btn {
    grid-row: 2 !important;
    align-self: end !important;
    margin-bottom: 0 !important;
}

.side-chat-input-area .side-attach-btn {
    grid-column: 1 !important;
    justify-self: start !important;
}

.side-chat-input-area .side-voice-btn {
    grid-column: 2 !important;
    justify-self: end !important;
}

.side-chat-input-area .side-send-btn {
    grid-column: 3 !important;
    justify-self: end !important;
}

/* Voice transcription keeps the same action row while the text scrolls at the cap. */
.side-chat-input-area.is-listening {
    align-items: stretch !important;
}

.side-chat-input-area.is-listening #sideChatInput {
    min-height: 62px !important;
    height: var(--logicum-chat-input-height, 62px) !important;
    max-height: 188px !important;
    overflow-y: auto !important;
}

@media (max-width: 560px) {
    .side-chat-input-area,
    .side-chat-input-area:hover,
    .side-chat-input-area:focus-within,
    .side-chat-input-area.is-listening {
        grid-template-columns: 30px minmax(0, 1fr) 30px !important;
        padding-left: 10px !important;
        padding-right: 10px !important;
    }
}

.side-chat-panel .side-chat-input-area { position: relative !important; }
.side-chat-panel .side-chat-input-area.is-listening::before,
.side-chat-panel .side-chat-input-area.is-transcribing::before {
    content: '';
    position: absolute;
    z-index: 3;
    left: 16px;
    top: 8px;
    width: 4px;
    height: 7px;
    border-radius: 4px;
    background: var(--accent-color, #8b5cf6);
    box-shadow: 7px 0 0 var(--accent-color, #8b5cf6), 14px 0 0 var(--accent-color, #8b5cf6), 21px 0 0 var(--accent-color, #8b5cf6), 28px 0 0 var(--accent-color, #8b5cf6);
    pointer-events: none;
    animation: side-listening-bars 600ms ease-in-out infinite alternate;
}
.side-chat-panel .side-chat-input-area.is-listening .side-voice-btn { color: #e5484d !important; }
@keyframes side-listening-bars { to { transform: scaleY(2.1); } }

/* Keep Approfondisci conversational instead of placing each code or quoted
   fragment inside a gray card. Content remains readable and selectable. */
.side-chat-panel .side-message.bot .side-message-bubble blockquote {
    margin: .6em 0 !important;
    padding: 0 0 0 .8em !important;
    border-left: 2px solid color-mix(in srgb, var(--accent-color, #8b5cf6) 45%, transparent) !important;
    background: transparent !important;
}
.side-chat-panel .side-message.bot .side-message-bubble .code-block-container,
.side-chat-panel .side-message.bot .side-message-bubble .code-block-header,
.side-chat-panel .side-message.bot .side-message-bubble pre {
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
}
.side-chat-panel .side-message.bot .side-message-bubble .code-block-header { display: none !important; }
.side-chat-panel .side-message.bot .side-message-bubble pre { padding: 0 !important; }
