.solidara-messages { max-width: 800px; }
.solidara-messages label { display: block; margin: 1rem 0; }
.solidara-messages textarea, .solidara-messages select, .solidara-messages input:not([type=checkbox]) { width: 100%; }
.solidara-messages button { margin: .25rem .5rem .25rem 0; }
.solidara-messages :is([data-history], [data-ai-private-messages]) ol { display: flex; flex-direction: column; gap: .75rem; list-style: none; padding: 0; margin: 0; }
.solidara-messages :is([data-history], [data-ai-private-messages]) li { box-sizing: border-box; width: fit-content; max-width: 85%; min-width: 0; margin: 0; padding: .75rem 1rem; border: 1px solid #d5dce0; border-left-width: 4px; border-radius: 1rem; color: #1f2933; text-align: left; overflow-wrap: anywhere; }
.solidara-messages :is([data-history], [data-ai-private-messages]) .solidara-message-own { align-self: flex-end; background: #dcf8c6; border-color: #bdd7aa; border-bottom-right-radius: .25rem; }
.solidara-messages :is([data-history], [data-ai-private-messages]) .solidara-message-received { align-self: flex-start; background: #f1f3f5; border-bottom-left-radius: .25rem; }
.solidara-messages :is([data-history], [data-ai-private-messages]) strong { display: block; font-size: .8em; color: #46535e; }
.solidara-messages :is([data-history], [data-ai-private-messages]) p { margin: .35rem 0 0; white-space: pre-wrap; overflow-wrap: anywhere; }
.solidara-messages [data-code] { font-family: monospace; overflow-wrap: anywhere; }

.solidara-messages-actions { display: flex; flex-wrap: wrap; align-items: center; gap: .5rem; }
.solidara-messages-actions button.solidara-forms-button { margin: 0; }

.solidara-messages label.solidara-messages-field { position: relative; margin: .75rem 0; }
.solidara-messages-field > span {
    position: absolute;
    top: 0;
    left: 12px;
    transform: translateY(-50%);
    z-index: 1;
    padding: 0 4px;
    background: var(--theme-form-field-background-initial-color, var(--theme-palette-color-8, #fff));
    font-size: 12px;
    line-height: 16px;
    pointer-events: none;
}
.solidara-messages .solidara-messages-field > :is(input, select, textarea) {
    box-sizing: border-box;
    display: block;
    margin: 0;
    border: 2px solid #555;
    border-radius: 6px;
    padding: 12px;
    min-height: 44px;
}

.solidara-messages details:is([data-code-settings], [data-conversation-settings])[open] {
    background: #f1f3f5;
    box-sizing: border-box;
    margin: 1rem 0;
    padding: 12px;
    border: 2px solid #555;
    border-radius: 6px;
}
.solidara-messages details:is([data-code-settings], [data-conversation-settings])[open] > summary {
    position: relative;
    width: fit-content;
    max-width: 100%;
    margin: -23px 0 12px;
    padding: 0 4px;
    background: #f1f3f5;
    font-size: 12px;
    line-height: 20px;
    overflow-wrap: anywhere;
    cursor: pointer;
}

.solidara-messages .solidara-messages-field > select {
    height: auto;
    min-height: 44px;
    padding: 8px 36px 8px 12px;
    font-size: 16px;
    line-height: 24px;
}

.solidara-messages :is([data-history], [data-ai-private-messages]) {
    box-sizing: border-box;
    margin-top: 1rem;
    padding: 16px;
    border: 2px solid #555;
    border-radius: 6px;
}

.solidara-messages :is([data-history], [data-ai-private-messages]) ol:not(:empty) + ol:not(:empty) { margin-top: .75rem; }

.solidara-messages :is([data-history], [data-ai-private-messages]):not(:has(li)) { display: none; }

.solidara-messages .solidara-message-count-icon { display: inline-block; width: 1em; height: .75em; vertical-align: -.02em; fill: none; stroke: #555; stroke-width: 1.25; stroke-linecap: round; stroke-linejoin: round; }

.solidara-messages h2 > .solidara-message-count-icon { vertical-align: -.1em; }

.solidara-messages [data-deletion-notices] details { margin: 1rem 0; padding: 16px; border: 2px solid #555; border-radius: 6px; background: #f1f3f5; }
.solidara-messages [data-deletion-notices] summary { cursor: pointer; font-weight: 700; }
.solidara-messages [data-deletion-notices] button[aria-pressed="true"] { outline: 2px solid #555; outline-offset: 2px; }

.solidara-messages [data-unavailable-notices] section { margin: 1rem 0; padding: 16px; border: 2px solid #555; border-radius: 6px; background: #f1f3f5; }

/* Theme label/button display rules must not expose hidden setup controls. */
.solidara-messages [hidden] { display: none !important; }

/* Reserve three readable lines regardless of theme textarea sizing. */
.solidara-messages .solidara-messages-field > textarea[data-received-code],
.solidara-messages .solidara-messages-field > textarea[data-code] {
    box-sizing: border-box;
    height: calc(4.5em + 28px) !important;
    min-height: calc(4.5em + 28px) !important;
    line-height: 1.5 !important;
    overflow-wrap: anywhere;
    resize: vertical;
}

.solidara-messages [data-network] input[type="checkbox"] { width: auto; display: inline-block; }
.solidara-messages [data-network-history] p { white-space: pre-wrap; overflow-wrap: anywhere; }

/* Match the shared Mindmap tab layout. */
.solidara-messages-tabs { display: flex; flex-wrap: wrap; gap: 0; position: relative; z-index: 1; margin: 1rem 0 -2px; padding: 0 12px; }
.solidara-messages .solidara-messages-tabs [role="tab"] { appearance: none; margin: 0; padding: 3px 8px; min-height: 30px; border: 2px solid #555; border-radius: 6px 6px 0 0; background: #e0e0e0; color: #333; font: 600 var(--mindmap-tab-font-size, 16px)/1.5 Arial, sans-serif; cursor: pointer; box-shadow: none; text-transform: none; }
.solidara-messages .solidara-messages-tabs [role="tab"][aria-selected="true"] { background: #555; color: #fff; position: relative; z-index: 2; transform: scale(1.06); transform-origin: center bottom; }
.solidara-messages .solidara-messages-tabs [role="tab"]:hover { background: #ccc; color: #333; }
.solidara-messages .solidara-messages-tabs [role="tab"][aria-selected="true"]:hover { background: #666; color: #fff; }
.solidara-messages .solidara-messages-tabs [role="tab"]:focus-visible { outline: 2px solid #555; outline-offset: 3px; }

.solidara-messages [data-inbox] > [role="tabpanel"], .solidara-messages [data-ai-private-overview] > [role="tabpanel"], .solidara-messages [data-network-list] { padding: 16px; border: 2px solid #555; border-radius: 6px; }

.solidara-messages :is([data-history], [data-network-history]) small { display: block; margin-top: .35rem; color: #46535e; }
.solidara-messages textarea[aria-label="Nachricht bearbeiten"] { box-sizing: border-box; display: block; min-height: 8em; margin-top: .5rem; resize: vertical; }

.solidara-messages button.solidara-forms-button.solidara-message-edit { min-height: 26px; padding: 3px 8px; font-size: 12px; line-height: 20px; }

.solidara-messages .solidara-message-body blockquote {
    margin: .5rem 0;
    padding: .25rem .75rem;
    border: 0;
    border-left: 3px solid #f58220;
    background: rgba(0, 0, 0, .04);
    color: inherit;
    font: inherit;
    white-space: pre-wrap;
    overflow-wrap: anywhere;
    quotes: none;
}
.solidara-messages .solidara-message-body blockquote::before,
.solidara-messages .solidara-message-body blockquote::after { content: none; }

.solidara-messages .solidara-message-body h4 {
    margin: .6rem 0 .25rem;
    color: inherit;
    font: inherit;
    font-size: 1.3em !important;
    font-weight: 700;
    line-height: 1.4;
}

.solidara-messages .solidara-message-body > h4 + p { margin-top: 0; }
.solidara-messages .solidara-message-body > p { font-size: inherit; }

/* Optional AI enhancement. */
.solidara-messages [data-smart-replies], #smart-replies-container {
    display: none;
    flex-wrap: wrap;
    gap: .5rem;
    margin: .75rem 0;
    padding: .75rem;
    background: #f3f6fa;
    border-radius: .5rem;
}
.solidara-messages [data-smart-replies].is-visible,
#smart-replies-container.is-visible { display: flex; }
.solidara-messages .smart-reply-btn {
    border: 1px solid #667c99;
    border-radius: 1rem;
    background: #fff;
    color: #243b58;
    padding: .5rem .85rem;
    font: inherit;
    cursor: pointer;
    text-align: left;
    overflow-wrap: anywhere;
    max-width: 100%;
}
.solidara-messages .smart-reply-btn:hover { background: #e4edf8; }
.solidara-messages .smart-reply-btn:focus-visible { outline: 2px solid #245b9e; outline-offset: 3px; }
.solidara-messages .message-sentiment { display: inline-block; margin: .35rem 0; padding: .15rem .5rem; border-radius: .3rem; font-size: .8rem; background: #fff; }
.solidara-messages .sentiment-positive { color: #21613a; }
.solidara-messages .sentiment-negative { color: #a22929; }
.solidara-messages .sentiment-neutral { color: #4d5661; }
.solidara-messages .sentiment-mixed { color: #755013; }
.solidara-messages .solidara-ai-opt-in { display: block; margin: .75rem 0; font-size: .9rem; }
.solidara-messages [data-smart-replies].is-loading { animation: solidara-ai-pulse 1.2s ease-in-out infinite; }
@keyframes solidara-ai-pulse { 50% { opacity: .55; } }
@media (max-width: 480px) { .solidara-messages .smart-reply-btn { width: 100%; } }
@media (prefers-reduced-motion: reduce) { .solidara-messages [data-smart-replies].is-loading { animation: none; } }

.solidara-messages :is([data-history], [data-ai-private-messages]) .solidara-message-ai {
    align-self: flex-start;
    background: #eaf1ff;
    border-color: #7189ba;
    border-left: 4px solid #4367a8;
}
.solidara-messages [data-ai-status], .solidara-messages [data-ai-private-status] { overflow-wrap: anywhere; }

.solidara-message-header { display: flex; align-items: center; gap: .65rem; margin-bottom: .35rem; }
.solidara-message-header > strong { min-width: 0; overflow-wrap: anywhere; }
.solidara-participant-image { display: inline-flex; align-items: center; justify-content: center; flex: 0 0 44px; width: 44px; height: 44px; overflow: hidden; border-radius: 50%; background: #fff; border: 1px solid #cbd5df; }
.solidara-participant-image > img, .solidara-participant-image > svg { display: block; width: 100%; height: 100%; object-fit: cover; }
.solidara-contact-photo { margin: 1rem 0; padding: 1rem; border: 2px solid #555; border-radius: 6px; }
.solidara-contact-photo[hidden] { display: none !important; }
.solidara-contact-photo label { display: block; margin: .75rem 0; }
.solidara-contact-photo input[type=file] { display: block; max-width: 100%; }
.solidara-contact-photo .solidara-participant-image { width: 80px; height: 80px; }

.solidara-messages :is([data-history], [data-ai-private-messages]) .solidara-message-body strong { display: inline; font-size: 1.15em; color: inherit; font-weight: 700; }

.solidara-messages .solidara-link-check { font-size: .75rem; font-weight: 400; color: #46535e; }
.solidara-messages .solidara-link-check[data-status="checked"] { color: #21613a; }
.solidara-messages .solidara-link-check[data-status="unverified"] { color: #8a3d13; }
.solidara-messages .solidara-message-body a[aria-disabled="true"] { color: inherit; text-decoration: none; cursor: default; }

.solidara-messages .solidara-link-check[data-status="unavailable"] { color: #755013; }
.solidara-messages button.solidara-link-retry { display: inline; width: auto; min-height: 0; margin-left: .35rem; padding: 0; border: 0; background: transparent; color: inherit; font: inherit; font-size: .75rem; text-decoration: underline; cursor: pointer; }
.solidara-messages button.solidara-link-retry[hidden] { display: none; }

.solidara-messages :is([data-inbox-list], [data-chat-list], [data-ai-private-list], [data-network-rooms]) time::after { content: ' · '; }
.solidara-messages :is([data-inbox-list], [data-chat-list], [data-ai-private-list], [data-network-rooms]) a,
.solidara-messages a.solidara-conversation-contact { color: #e87516; text-decoration: underline; text-underline-offset: .15em; }
@media (max-width: 600px) {
    .solidara-messages :is([data-inbox-list], [data-chat-list], [data-ai-private-list], [data-network-rooms]) li > time { display: block; }
    .solidara-messages :is([data-inbox-list], [data-chat-list], [data-ai-private-list], [data-network-rooms]) time::after { content: none; }
}

.solidara-messages .solidara-conversation-partner { display: flex; align-items: center; gap: .5rem; }
.solidara-messages .solidara-conversation-partner > .solidara-participant-image { flex: 0 0 32px; width: 32px; height: 32px; }
.solidara-messages .solidara-conversation-partner > a { min-width: 0; overflow-wrap: anywhere; }

.solidara-messages .solidara-ai-status-overlay {
    position: fixed;
    inset: 0;
    z-index: 1000;
    display: grid;
    place-items: center;
    box-sizing: border-box;
    margin: 0;
    padding: 12px;
    background: rgba(241, 243, 245, .8);
    pointer-events: none;
}
.solidara-messages .solidara-ai-status-overlay > span {
    max-width: 32rem;
    padding: 8px 12px;
    border: 2px solid #555;
    border-radius: 6px;
    background: #f1f3f5;
    color: #454e53;
    font: 600 16px/24px Arial, sans-serif;
    text-align: center;
    pointer-events: auto;
}
.solidara-messages .solidara-ai-status-overlay > span > span { display: block; }

.solidara-messages dialog.solidara-message-confirm {
    box-sizing: border-box;
    width: min(32rem, calc(100vw - 24px));
    padding: 20px;
    border: 2px solid #555;
    border-radius: 6px;
    background: #f1f3f5;
    color: #1f2933;
    font: 400 18px/1.5 Arial, sans-serif;
    color-scheme: light;
}
.solidara-messages dialog.solidara-message-confirm p { margin: 0 0 16px; color: #1f2933; font: inherit; }
.solidara-messages dialog.solidara-message-confirm button.solidara-forms-button {
    background: #fff;
    color: #1f2933;
    border: 2px solid #555;
    font: 600 16px/1.5 Arial, sans-serif;
    padding: 8px 16px;
    opacity: 1;
}
.solidara-messages dialog.solidara-message-confirm button:focus-visible { outline: 3px solid #155a94; outline-offset: 3px; }
.solidara-message-confirm::backdrop { background: rgb(0 0 0 / 35%); }

/* Shared invitation-style notices for empty lists, feedback and errors. */
.solidara-messages .solidara-notice {
    box-sizing: border-box;
    margin: .75rem 0;
    padding: 12px;
    border: 2px solid #555;
    border-radius: 6px;
    background: #f1f3f5;
    color: #454e53;
    font: 700 16px/1.5 Arial, sans-serif;
    overflow-wrap: anywhere;
}
.solidara-messages .solidara-notice:empty { display: none; }
.solidara-messages .solidara-notice:not(:empty):not(.solidara-ai-status-overlay)::before { content: 'ℹ️ '; }
.solidara-messages .solidara-notice.solidara-ai-status-overlay {
    margin: 0;
    border: 0;
    background: rgba(241, 243, 245, .8);
}
