/* Pdvlegal.API/agentelegal/css/agente.css */

/* Cor institucional PDV Legal */
:root {
    --pdv-blue: #07437e;
    --pdv-blue-hover: #05336a;
}

.btn-primary {
    background-color: var(--pdv-blue) !important;
    border-color: var(--pdv-blue) !important;
}
.btn-primary:hover, .btn-primary:focus, .btn-primary:active {
    background-color: var(--pdv-blue-hover) !important;
    border-color: var(--pdv-blue-hover) !important;
}

.bg-primary {
    background-color: var(--pdv-blue) !important;
}

.btn-outline-light:hover {
    color: var(--pdv-blue) !important;
}

.chat-area {
    overflow-y: auto;
    padding: 1rem;
    background-color: #dce8f7;
    background-image: radial-gradient(circle, rgba(7,67,126,0.10) 1px, transparent 1px);
    background-size: 22px 22px;
    flex: 1 1 0;
    min-height: 0;
}

.bubble {
    max-width: 75%;
    padding: 0.5rem 0.75rem;
    border-radius: 8px;
    margin-bottom: 0.5rem;
    word-wrap: break-word;
    line-height: 1.4;
}

.bubble-user {
    background: #dcf8c6;
    border-bottom-right-radius: 0;
    white-space: pre-wrap;
}

.bubble-assistant {
    background: #ffffff;
    border-bottom-left-radius: 0;
    box-shadow: 0 1px 1px rgba(0,0,0,.08);
}

.bubble-error {
    background: #ffe0e0;
    border-bottom-left-radius: 0;
    color: #c00;
    white-space: pre-wrap;
}

.typing-indicator {
    display: flex;
    align-items: center;
    gap: 4px;
    padding: 10px 14px;
    background: #ffffff;
    border-radius: 8px;
    border-bottom-left-radius: 0;
    width: fit-content;
    margin-bottom: 0.5rem;
    box-shadow: 0 1px 1px rgba(0,0,0,.08);
}

.typing-dot {
    width: 8px;
    height: 8px;
    background: #aaa;
    border-radius: 50%;
    animation: typing-bounce 1.4s infinite ease-in-out;
}

.typing-dot:nth-child(2) { animation-delay: 0.2s; }
.typing-dot:nth-child(3) { animation-delay: 0.4s; }

@keyframes typing-bounce {
    0%, 60%, 100% { transform: translateY(0); opacity: 0.5; }
    30% { transform: translateY(-6px); opacity: 1; }
}

/* Markdown dentro das bolhas do assistente */
.bubble-assistant p {
    margin: 0 0 0.2rem 0;
}
.bubble-assistant p:last-child {
    margin-bottom: 0;
}
.bubble-assistant ul,
.bubble-assistant ol {
    margin: 0.1rem 0 0.2rem 0;
    padding-left: 1.2rem;
}
.bubble-assistant ul:last-child,
.bubble-assistant ol:last-child {
    margin-bottom: 0;
}
.bubble-assistant li {
    margin-bottom: 0.1rem;
}
.bubble-assistant h1,
.bubble-assistant h2,
.bubble-assistant h3,
.bubble-assistant h4 {
    font-size: 1rem;
    font-weight: 600;
    margin: 0.3rem 0 0.1rem 0;
}
.bubble-assistant strong {
    font-weight: 600;
}
.bubble-assistant hr {
    margin: 0.3rem 0;
    border-color: rgba(0,0,0,.1);
}
