/* Conversa — tema escuro forçado, contraste alto. */

.zc-conversation-table {
    background: #0d1624 !important;
}

.zc-conversation-table .fi-ta-content-ctn {
    background-color: #0d1624 !important;
    background-image: none !important;
}

.zc-conversation-table .fi-ta-header-ctn,
.zc-composer {
    background: #121c2c !important;
    border-color: rgb(255 255 255 / 10%) !important;
}

.zc-message-row {
    min-width: 0;
}

.zc-message {
    box-sizing: border-box;
    flex: 0 1 auto;
    min-width: 0 !important;
    max-width: min(75%, 42rem);
    overflow: hidden;
    overflow-wrap: anywhere;
    word-break: break-word;
}

.zc-message--incoming {
    color: #edf2f7 !important;
    background: #1b2a3b !important;
    border-color: rgb(255 255 255 / 10%) !important;
}

.zc-message--outgoing {
    color: #fff !important;
    background: linear-gradient(135deg, #0a1f4a, #0b3dff) !important;
    border-color: rgb(255 255 255 / 10%) !important;
}

.zc-message--outgoing .zc-message-meta,
.zc-message--outgoing .zc-message-body,
.zc-message--outgoing .zc-message-status,
.zc-message--outgoing .zc-message-type-label,
.zc-message--outgoing time {
    color: #fff !important;
}

.zc-message--outgoing .zc-message-type-label {
    background: rgb(255 255 255 / 16%) !important;
}

.zc-message--ai {
    color: #e8eefc !important;
    background: linear-gradient(135deg, #172554, #1e3a8a) !important;
    border-color: rgb(96 165 250 / 35%) !important;
}

.zc-message--ai .zc-message-meta,
.zc-message--ai .zc-message-body,
.zc-message--ai .zc-message-status {
    color: #e8eefc !important;
}

.zc-message-ai-label {
    background: rgb(96 165 250 / 20%) !important;
    color: #93c5fd !important;
}

.zc-message--internal {
    color: #fde68a !important;
    background: rgb(120 53 15 / 35%) !important;
    border: 1px dashed rgb(251 191 36 / 45%) !important;
}

.zc-message-type-label {
    background: rgb(255 255 255 / 10%) !important;
}

.zc-message-avatar {
    background: #3d5470 !important;
}

.zc-message-file {
    display: flex;
    align-items: center;
    gap: .75rem;
    margin: 0 0 .65rem;
    padding: .7rem .8rem;
    border-radius: .85rem;
    background: rgb(255 255 255 / 08%);
    border: 1px solid rgb(255 255 255 / 12%);
    color: inherit;
    text-decoration: none;
}

.zc-message-file__icon {
    display: grid;
    place-items: center;
    width: 2.4rem;
    height: 2.4rem;
    border-radius: .65rem;
    background: #0b3dff;
    color: #fff;
    font-size: .62rem;
    font-weight: 800;
}

.zc-message-file__meta {
    display: grid;
    gap: .15rem;
    min-width: 0;
    flex: 1;
}

.zc-message-file__meta strong {
    font-size: .84rem;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.zc-message-file__meta em {
    font-style: normal;
    font-size: .68rem;
    opacity: .72;
}

.zc-message-file__action {
    font-size: .72rem;
    font-weight: 750;
    color: #93c5fd;
}

.zc-message-location,
.zc-message-cta {
    display: grid;
    gap: .2rem;
    margin: 0 0 .55rem;
    padding: .7rem .8rem;
    border-radius: .85rem;
    background: rgb(255 255 255 / 08%);
    border: 1px solid rgb(255 255 255 / 12%);
    color: inherit;
    text-decoration: none;
}

.zc-message-location strong,
.zc-message-cta {
    font-size: .84rem;
    font-weight: 750;
}

.zc-message-location span,
.zc-message-cta span {
    font-size: .72rem;
    opacity: .75;
    overflow-wrap: anywhere;
}

.zc-message-cta-list {
    display: grid;
    gap: .4rem;
    margin-bottom: .55rem;
}

.zc-message--outgoing .zc-message-file,
.zc-message--outgoing .zc-message-location,
.zc-message--outgoing .zc-message-cta {
    background: rgb(255 255 255 / 12%);
    border-color: rgb(255 255 255 / 16%);
}

.zc-message--outgoing .zc-message-file__action {
    color: #fff;
}

.zc-message--audio {
    width: min(100%, 22rem);
}

.zc-message-body,
.zc-audio-unavailable,
.zc-message-vehicle {
    max-width: 100%;
    overflow-wrap: anywhere;
    word-break: break-word;
}

.zc-audio-player {
    min-width: 0;
    max-width: 100%;
    background: rgb(255 255 255 / 08%);
}

.zc-audio-player audio {
    max-width: 100%;
}

.zc-message-image {
    display: block;
    margin: 0 0 .65rem;
    overflow: hidden;
    border-radius: .85rem;
    background: rgb(8 17 31 / 6%);
}

.zc-message-image img {
    display: block;
    width: 100%;
    max-height: 18rem;
    object-fit: contain;
}

.zc-video-player {
    display: block;
    margin: 0 0 .65rem;
    overflow: hidden;
    border-radius: .85rem;
    background: #050b14;
}

.zc-video-player video {
    display: block;
    width: 100%;
    max-height: 22rem;
    background: #050b14;
}

.zc-transcription {
    box-sizing: border-box;
    min-width: 0;
    max-width: 100%;
    margin-top: 0.65rem;
    padding: 0.7rem 0.8rem;
    overflow: hidden;
    border-radius: 0.85rem;
    background: rgb(255 255 255 / 06%);
    border: 1px solid rgb(255 255 255 / 10%);
    color: inherit;
}

.zc-transcription--done {
    background: rgb(34 197 94 / 14%);
    border-color: rgb(34 197 94 / 28%);
}

.zc-transcription--pending {
    background: rgb(61 107 255 / 14%);
    border-color: rgb(61 107 255 / 28%);
}

.zc-transcription--failed {
    background: rgb(239 68 68 / 14%);
    border-color: rgb(239 68 68 / 28%);
}

.zc-transcription--disabled {
    opacity: 0.85;
}

.zc-transcription__head {
    display: flex;
    align-items: center;
    gap: 0.45rem;
    margin-bottom: 0.35rem;
}

.zc-transcription__badge {
    font-size: 0.62rem;
    font-weight: 800;
    letter-spacing: 0.07em;
    text-transform: uppercase;
    opacity: 0.78;
}

.zc-transcription__text {
    margin: 0;
    max-width: 100%;
    max-height: 14rem;
    overflow-x: hidden;
    overflow-y: auto;
    white-space: pre-wrap;
    overflow-wrap: anywhere;
    word-break: break-word;
    font-size: 0.86rem;
    line-height: 1.5;
}

.zc-transcription__hint {
    margin: 0;
    max-width: 100%;
    overflow-wrap: anywhere;
    word-break: break-word;
    font-size: 0.76rem;
    opacity: 0.75;
    line-height: 1.4;
}

.zc-transcription__spinner {
    width: 0.7rem;
    height: 0.7rem;
    border: 2px solid rgb(255 255 255 / 18%);
    border-top-color: #3d6bff;
    border-radius: 999px;
    animation: zc-spin 0.7s linear infinite;
}

@keyframes zc-spin {
    to { transform: rotate(360deg); }
}

.zc-composer-context {
    color: #9aadc4;
}

@media (pointer: coarse) {
    .zc-composer-hint {
        display: none;
    }
}

.zc-composer-input,
.zc-composer-icon-btn {
    color: #edf2f7 !important;
    background: #0a1220 !important;
    border-color: #314055 !important;
}

.zc-composer-plus-menu {
    z-index: 80;
    background: #142131 !important;
    border-color: #314055 !important;
}

.zc-composer-plus-item {
    color: #edf2f7 !important;
}

.zc-composer-plus-item:hover {
    background: rgb(61 107 255 / 16%) !important;
}

.zc-composer-send {
    color: #111a12 !important;
    background: linear-gradient(135deg, #d9f46b, #bce64b) !important;
    box-shadow: 0 8px 18px rgb(190 230 75 / 18%) !important;
}

.zc-composer-input:focus,
.zc-composer-icon-btn:hover {
    border-color: #3d6bff !important;
}

.zc-composer-resume {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
    margin-bottom: 0.75rem;
    padding: 0.75rem 1rem;
    border: 1px solid rgb(245 158 11 / 35%);
    border-radius: 0.75rem;
    background: rgb(245 158 11 / 10%);
}

.zc-composer-resume p {
    margin: 0;
    color: #fcd34d !important;
    font-size: 0.875rem;
    line-height: 1.45;
}

.zc-composer-resume-btn {
    border: 0;
    border-radius: 999px;
    padding: 0.45rem 0.95rem;
    color: #111827 !important;
    background: #fbbf24 !important;
    font-size: 0.8125rem;
    font-weight: 700;
    cursor: pointer;
}

.zc-composer-resume-btn:hover {
    background: #f59e0b !important;
}

.zc-composer-ai-notice {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: .35rem .55rem;
    margin-bottom: .65rem;
    padding: .55rem .72rem;
    border: 1px solid rgb(56 189 248 / 24%);
    border-radius: .7rem;
    color: #bae6fd;
    background: rgb(14 116 144 / 11%);
    font-size: .69rem;
    line-height: 1.4;
}

.zc-composer-ai-notice strong {
    color: #e0f2fe;
    font-weight: 800;
}

.zc-composer-ai-notice span {
    color: #8fc9dc;
}

@media (max-width: 640px) {
    .zc-message {
        max-width: 88%;
    }

    .zc-message--audio {
        width: min(100%, 18rem);
    }
}
