/*
 * Ajustes do Adasi sobre o tema Metronic.
 * Estas regras existem porque algumas utilitárias usadas nas views
 * (ex.: xl:col-span-2, xl:grid-cols-3, h-[300px]) não estão no styles.css
 * compilado do tema.
 */

/* Títulos de seção do sidebar: somem quando o menu está recolhido */
.demo1.kt-sidebar-collapse .kt-sidebar:not(:hover) .adasi-menu-heading {
    visibility: hidden;
    height: 0;
    padding: 0 !important;
    overflow: hidden;
}

/* Grid de KPIs: 1 → 2 → 4 colunas */
.adasi-grid-kpi {
    display: grid;
    gap: 1.25rem;
    grid-template-columns: minmax(0, 1fr);
}
@media (min-width: 640px) {
    .adasi-grid-kpi { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (min-width: 1280px) {
    .adasi-grid-kpi { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}

/* Grid principal: 1 coluna → 3 colunas (2/3 + 1/3) */
.adasi-grid-main {
    display: grid;
    gap: 1.25rem;
    grid-template-columns: minmax(0, 1fr);
}
@media (min-width: 1280px) {
    .adasi-grid-main { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .adasi-span-2 { grid-column: span 2 / span 2; }
}
@media (min-width: 1024px) {
    .adasi-grid-main { gap: 1.875rem; }
}

/* Alturas de gráficos */
.adasi-chart-lg { height: 300px; width: 100%; }
.adasi-chart-sm { height: 190px; width: 100%; }

/* Cores de apoio */
.adasi-muted-bg { background-color: #f4f4f5; }
.dark .adasi-muted-bg { background-color: #27272a; }
.adasi-dot-danger { background-color: #ef4444; }

/* Busca no topo */
.adasi-search { max-width: 360px; }
@media (max-width: 767px) {
    .adasi-search { display: none; }
}

/* Indicador de notificação não lida no sino */
.adasi-bell-dot {
    position: absolute;
    top: 6px;
    right: 6px;
    width: 8px;
    height: 8px;
    border-radius: 9999px;
}

/* Listas e tabelas */
.adasi-row:last-child { border-bottom: 0; }
.adasi-msg { max-width: 320px; }
.adasi-scroll { overflow-y: auto; }

/* Tons dos ícones de notificação */
.adasi-tone-warning { background-color: rgba(246, 177, 0, 0.12); color: #b07d00; }
.adasi-tone-danger  { background-color: rgba(239, 68, 68, 0.12);  color: #dc2626; }
.adasi-tone-success { background-color: rgba(23, 198, 83, 0.12);  color: #15a34a; }
.adasi-tone-primary { background-color: rgba(43, 127, 255, 0.12); color: #2b7fff; }
.adasi-tone-muted   { background-color: #f4f4f5; color: #18181b; }
.dark .adasi-tone-muted { background-color: #27272a; color: #fafafa; }

/* ---------- Conversas ---------- */
.adasi-chat {
    display: grid;
    gap: 1.25rem;
    grid-template-columns: minmax(0, 1fr);
    height: calc(100vh - 13.5rem);
    min-height: 560px;
}
@media (min-width: 1024px) {
    .adasi-chat { grid-template-columns: 320px minmax(0, 1fr); }
}
@media (min-width: 1280px) {
    .adasi-chat { grid-template-columns: 320px minmax(0, 1fr) 280px; }
}
.adasi-chat-panel {
    display: flex;
    flex-direction: column;
    min-height: 0;
    overflow: hidden;
}
.adasi-chat-details { display: none; min-height: 0; overflow: hidden; }
@media (min-width: 1280px) {
    .adasi-chat-details { display: flex; flex-direction: column; }
}
.adasi-scroll-y {
    flex: 1 1 auto;
    min-height: 0;
    overflow-y: auto;
}
.adasi-conv-item:hover { background-color: rgba(43, 127, 255, 0.05); }
.adasi-conv-active,
.adasi-conv-active:hover { background-color: rgba(43, 127, 255, 0.08); box-shadow: inset 3px 0 0 #2b7fff; }

.adasi-thread {
    display: flex;
    flex-direction: column;
    gap: 1rem;
    padding: 1.25rem;
}
.adasi-bubble {
    padding: 0.625rem 0.875rem;
    border-radius: 0.875rem;
    font-size: 0.875rem;
    line-height: 1.45;
    white-space: pre-wrap;
}
.adasi-bubble-customer { background-color: #f4f4f5; color: #18181b; border-bottom-left-radius: 0.25rem; }
.adasi-bubble-ai       { background-color: rgba(43, 127, 255, 0.12); color: #1e3a8a; border-bottom-right-radius: 0.25rem; }
.adasi-bubble-agent    { background-color: #2b7fff; color: #ffffff; border-bottom-right-radius: 0.25rem; }
.dark .adasi-bubble-customer { background-color: #27272a; color: #fafafa; }
.dark .adasi-bubble-ai       { color: #bfdbfe; }

.adasi-note {
    background-color: rgba(246, 177, 0, 0.12);
    color: #92650a;
}
.dark .adasi-note { color: #fcd34d; }

.adasi-composer { min-height: 44px; resize: none; flex: 1 1 auto; padding-top: 0.6rem; }

/* ---------- Logo Adaz ----------
 * Fundo branco fixo: a marca tem texto azul-marinho e precisa de contraste
 * também no modo escuro. */
.adasi-logo-wrap {
    display: inline-flex;
    align-items: center;
    background-color: #ffffff;
    border-radius: 0.5rem;
    padding: 0.375rem 0.625rem;
    max-width: 100%;
}
.adasi-logo-wrap img,
img.adasi-logo-wrap { display: block; height: 2.75rem; width: auto; }
img.adasi-logo-login { height: 3rem; padding: 0.5rem 0.875rem; }
.adasi-logo-sm { padding: 0.25rem 0.5rem; }
.adasi-logo-sm img { height: 1.5rem; }

/* Símbolo reduzido (sidebar recolhido): recorte da letra "A" do logo */
img.adasi-logo-mini {
    width: 36px;
    height: 36px;
    border-radius: 0.5rem;
    margin-inline: auto;
}

/* Alternância logo completo / símbolo no sidebar.
 * As regras do tema ficam em @layer, que perde para CSS fora de camada,
 * por isso estas regras são repetidas aqui. */
.demo1 .kt-sidebar img.small-logo { display: none; }
.demo1.kt-sidebar-collapse .kt-sidebar:not(:hover) img.default-logo { display: none; }
.demo1.kt-sidebar-collapse .kt-sidebar:not(:hover) img.small-logo { display: block; }

/* ---------- Fila de humanos ---------- */
select.adasi-select {
    min-width: 160px;
    max-width: 180px;
    height: 2rem;
    padding-top: 0;
    padding-bottom: 0;
    font-size: 0.8125rem;
}

/* Grade de atendentes: 1 → 2 → 3 colunas */
.adasi-agents {
    display: grid;
    column-gap: 1.5rem;
    grid-template-columns: minmax(0, 1fr);
}
@media (min-width: 768px) {
    .adasi-agents { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (min-width: 1280px) {
    .adasi-agents { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

/* ---------- Agentes de IA ---------- */
.adasi-agent-grid {
    display: grid;
    gap: 1.25rem;
    grid-template-columns: minmax(0, 1fr);
}
@media (min-width: 768px) {
    .adasi-agent-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

/* ---------- Configurações ---------- */
.adasi-settings {
    display: grid;
    gap: 1.25rem;
    grid-template-columns: minmax(0, 1fr);
}
@media (min-width: 1024px) {
    .adasi-settings { grid-template-columns: 240px minmax(0, 1fr); }
}
textarea.adasi-textarea {
    height: auto;
    min-height: 5rem;
    padding-top: 0.5rem;
    resize: vertical;
}

/* ---------- Respiro dos títulos dos cards ----------
 * O tema define o cabeçalho sem padding vertical (só altura mínima de 56px),
 * então títulos com subtítulo encostavam na borda superior do card. */
.kt-card-header {
    padding-top: 1.125rem;
    padding-bottom: 1.125rem;
    min-height: 4rem;
}

/* Texto de erro (formulário e avisos) */
.adasi-text-danger { color: #dc2626; }
.dark .adasi-text-danger { color: #f87171; }
