/* ═══════════════════════════════════════════════════════════════
   ChatIA v2 — acciones del chat, plazos, clientes y citas literales
   Usa las variables del tema (claro/oscuro) de theme.css
   ═══════════════════════════════════════════════════════════════ */

/* ── Tarjetas de acción bajo la respuesta ─────────────────────── */
.ca-acciones {
    display: flex;
    flex-direction: column;
    gap: 10px;
    margin: 12px 0 4px;
}
.ca-card {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    flex-wrap: wrap;
    padding: 12px 14px;
    border: 1px solid var(--border);
    border-left: 3px solid var(--accent, #00BF64);
    border-radius: 10px;
    background: var(--bg-secondary);
}
.ca-card-cab { display: flex; align-items: center; gap: 10px; min-width: 0; }
.ca-ico { font-size: 20px; line-height: 1; }
.ca-tit { font-weight: 600; color: var(--text-primary); }
.ca-btn { white-space: nowrap; }
.ca-card-plazo { flex-direction: column; align-items: stretch; border-left-color: #006633; }
.ca-card-plazo .pz-card { border: none; padding: 0; background: transparent; }
.ca-card-plazo .ca-btn { align-self: flex-end; }

/* ── Plazos ───────────────────────────────────────────────────── */
.pz-card {
    margin-top: 14px;
    padding: 16px 18px;
    border: 1px solid var(--border);
    border-radius: 12px;
    background: var(--bg-secondary);
}
.pz-meta { font-size: 12px; color: var(--text-muted); margin-bottom: 6px; }
.pz-label { font-size: 12px; text-transform: uppercase; letter-spacing: .06em; color: var(--text-muted); }
.pz-fecha {
    font-size: 22px;
    font-weight: 700;
    color: var(--text-primary);
    text-transform: capitalize;
    margin: 2px 0 6px;
}
.pz-estado {
    display: inline-block;
    font-size: 13px;
    font-weight: 600;
    padding: 3px 10px;
    border-radius: 999px;
    background: rgba(0, 191, 100, .14);
    color: #00BF64;
}
[data-theme="light"] .pz-estado { color: #006633; }
.pz-estado.pz-hoy { background: rgba(240, 173, 78, .18); color: #f0ad4e; }
[data-theme="light"] .pz-estado.pz-hoy { color: #9a6200; }
/* "Plazo superado": sin dramatismo — informativo, no alarmista */
.pz-estado.pz-superado { background: var(--bg-tertiary); color: var(--text-secondary); }
.pz-card-superado .pz-fecha { color: var(--text-secondary); }
.pz-calculo { font-size: 13px; color: var(--text-secondary); margin-top: 8px; }
.pz-inhabiles { font-size: 12px; color: var(--text-secondary); margin-top: 6px; }
.pz-aviso { font-size: 12px; color: var(--text-secondary); margin-top: 6px; }
.pz-nota {
    font-size: 11px;
    color: var(--text-muted);
    margin-top: 10px;
    padding-top: 8px;
    border-top: 1px dashed var(--border);
    line-height: 1.5;
}
.pz-error { color: var(--danger); }

/* ── Clientes ─────────────────────────────────────────────────── */
.cl-barra { margin-bottom: 12px; }
.cl-lista { display: flex; flex-direction: column; gap: 6px; margin-top: 14px; }
.cl-item {
    display: block;
    width: 100%;
    text-align: left;
    padding: 10px 14px;
    border: 1px solid var(--border);
    border-radius: 10px;
    background: var(--bg-primary);
    color: var(--text-primary);
    cursor: pointer;
    font: inherit;
    transition: border-color .15s, background .15s;
}
.cl-item:hover { border-color: var(--accent, #00BF64); background: var(--bg-hover); }
.cl-item-nombre { font-weight: 600; }
.cl-item-meta { font-size: 12px; color: var(--text-muted); margin-top: 2px; }
.cl-badge {
    display: inline-block;
    padding: 0 7px;
    border-radius: 999px;
    background: rgba(0, 191, 100, .14);
    color: #00BF64;
    font-weight: 600;
}
[data-theme="light"] .cl-badge { color: #006633; }
.cl-usar { display: flex; flex-direction: column; gap: 8px; }
.cl-usar-fila { display: flex; gap: 8px; align-items: center; }
.cl-usar-fila .ex-input { flex: 1; min-width: 0; }
.cl-usar-fila .btn-secondary { white-space: nowrap; }
.cl-usar-botones { flex-wrap: wrap; }
.cl-historial { display: flex; flex-direction: column; gap: 6px; }
.cl-hist-item {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 8px 12px;
    border: 1px solid var(--border);
    border-radius: 10px;
}
.cl-hist-ico { font-size: 18px; }
.cl-hist-info { flex: 1; min-width: 0; font-size: 14px; }
.cl-reabrir { white-space: nowrap; }
.cl-borrar { margin-right: auto; }

@media (max-width: 640px) {
    .cl-usar-fila { flex-direction: column; align-items: stretch; }
    .pz-fecha { font-size: 19px; }
}

/* ── Fragmento literal citado (modal de fuentes) ───────────────── */
.source-item-citas { margin-top: 6px; }
.source-item-citas blockquote {
    margin: 4px 0 0;
    padding: 6px 10px;
    border-left: 3px solid var(--accent, #00BF64);
    background: var(--bg-tertiary);
    border-radius: 0 6px 6px 0;
    font-size: 12px;
    line-height: 1.5;
    color: var(--text-secondary);
    font-style: italic;
}

/* ── Aviso no bloqueante ──────────────────────────────────────── */
.chat-toast.warn { background: #9a6200; color: #fff; }

/* ── Menú de herramientas: nunca se sale de la pantalla ─────────
   Altura máxima de respaldo; tools.js la ajusta al espacio real al abrir. */
.tools-dropdown {
    max-height: calc(100vh - 80px);
    max-height: calc(100dvh - 80px);
    overflow-y: auto;
    overscroll-behavior: contain;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: thin;
}
/* Portátiles con poca altura: filas algo más compactas */
@media (min-width: 769px) and (max-height: 820px) {
    .tools-dropdown button { padding: 7px 10px; }
    .tools-dropdown .tool-desc { font-size: 11px; line-height: 1.3; }
}
