/* Agente: página completa (/agente/) y panel lateral. Colores de theme.css (claro y oscuro).
 *
 * Mismos componentes en los dos lugares: mensajes (asistente con avatar y texto plano, usuario en
 * burbuja), chips de tools, tarjetas, caja de texto con el botón adentro. La página centra la columna
 * de mensajes (máx. ~46rem); el panel usa todo el ancho. */

.agente-app, .agente-panel { --ag-col: 46rem; --ag-pad: 1.5rem; --ag-r: 0.75rem; }

/* ---------- Página: historial + chat en una sola caja ---------- */
.agente-app { position:relative;display:grid;grid-template-columns:minmax(0,1fr);height:calc(100dvh - 6.5rem);min-height:26rem;
    background:rgb(var(--c-card));border:1px solid rgb(var(--c-stroke));border-radius:0.875rem;overflow:hidden; }
.agente-app > * { min-width:0; }
@media (min-width:768px) { .agente-app { grid-template-columns:16.5rem minmax(0,1fr); } }
/* Móvil: la página ocupa toda la pantalla bajo la barra (sin el padding de <main>). */
@media (max-width:767px) {
    .agente-app { margin:-1.5rem -1rem;height:calc(100dvh - 3.5rem);min-height:0;border:0;border-radius:0; }
    .agente-app { --ag-pad: 1rem; }
}
.agente-solo-movil { display:none !important; }
@media (max-width:767px) { .agente-solo-movil { display:inline-flex !important; } }

.agente-side { display:flex;flex-direction:column;gap:0.5rem;min-height:0;padding:0.75rem 0.625rem;
    background:rgb(var(--c-panel));border-right:1px solid rgb(var(--c-stroke)); }
@media (max-width:767px) {
    .agente-side { position:absolute;inset:0 auto 0 0;width:min(20rem,86vw);z-index:20;transform:translateX(-102%);
        transition:transform .2s ease;box-shadow:var(--shadow-pop); }
    .agente-side.abierto { transform:none; }
}
.agente-scrim { position:absolute;inset:0;z-index:15;background:rgb(15 23 42 / .35); }
.agente-scrim[hidden] { display:none; }
.agente-side-top { display:flex;align-items:center;gap:0.25rem; }
.agente-nueva { flex:1;display:flex;align-items:center;gap:0.5rem;height:2.25rem;padding:0 0.75rem;border-radius:0.5625rem;
    font-size:0.8125rem;font-weight:600;color:rgb(var(--c-txt));background:rgb(var(--c-card));border:1px solid rgb(var(--c-stroke-strong));
    box-shadow:0 1px 2px rgb(15 23 42 / .04);transition:background .15s,border-color .15s; }
.agente-nueva:hover { background:rgb(var(--c-subtle));border-color:rgb(var(--c-txt-light)); }
.agente-nueva svg { color:rgb(var(--c-primary)); }
.agente-buscar { display:flex;align-items:center;gap:0.5rem;height:2.125rem;padding:0 0.625rem;border-radius:0.5625rem;
    background:rgb(var(--c-muted-bg));color:rgb(var(--c-txt-light));border:1px solid transparent;transition:border-color .15s,background .15s; }
.agente-buscar:focus-within { background:rgb(var(--c-card));border-color:rgb(var(--c-primary) / .5);box-shadow:0 0 0 3px rgb(var(--c-primary) / .12); }
.agente-buscar input { flex:1;min-width:0;height:100%;padding:0;border:0;outline:0;box-shadow:none;background:transparent;
    font-size:0.8125rem;color:rgb(var(--c-txt)); }
.agente-buscar input::-webkit-search-cancel-button { cursor:pointer; }

.agente-lista { display:flex;flex-direction:column;gap:1px;min-height:0; }
.agente-side .agente-lista { flex:1;overflow-y:auto;margin:0 -0.25rem;padding:0 0.25rem 0.5rem; }
.agente-grupo { display:flex;flex-direction:column;gap:1px; }
.agente-grupo[hidden] { display:none; }
.agente-grupo + .agente-grupo { margin-top:0.75rem; }
.agente-grupo-t { padding:0.375rem 0.625rem 0.25rem;font-size:0.6875rem;font-weight:600;letter-spacing:.02em;
    text-transform:uppercase;color:rgb(var(--c-txt-light)); }
.agente-conv-item { position:relative; }
.agente-conv-item[hidden] { display:none; }
.agente-conv { display:flex;align-items:center;gap:0.5rem;width:100%;min-height:2.125rem;padding:0.375rem 0.625rem;border-radius:0.5rem;
    font-size:0.8125rem;color:rgb(var(--c-txt-2));text-align:left;transition:background .12s; }
.agente-conv-titulo { flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis; }
.agente-conv-fecha { flex-shrink:0;font-size:0.6875rem;color:rgb(var(--c-txt-light));font-variant-numeric:tabular-nums; }
.agente-conv:hover { background:rgb(var(--c-muted-bg));color:rgb(var(--c-txt)); }
.agente-conv.active { background:rgb(var(--c-active));color:rgb(var(--c-txt));font-weight:500; }
.agente-conv.active::before { content:'';position:absolute;left:0;top:0.5rem;bottom:0.5rem;width:3px;border-radius:3px;background:rgb(var(--c-primary)); }
/* Borrar: aparece al pasar el mouse (en táctil, siempre en el ítem activo). */
.agente-conv-acciones { position:absolute;right:0.25rem;top:50%;transform:translateY(-50%);display:none; }
.agente-conv-item:hover .agente-conv-acciones, .agente-conv-item:focus-within .agente-conv-acciones { display:block; }
.agente-conv-item:hover .agente-conv-fecha, .agente-conv-item:focus-within .agente-conv-fecha { visibility:hidden; }
.agente-conv-acciones .agente-icono { background:rgb(var(--c-muted-bg)); }
.agente-conv-acciones .agente-icono:hover { color:rgb(var(--c-danger));background:rgb(var(--c-danger) / .1); }
.agente-lista-vacia { padding:0.75rem 0.625rem;font-size:0.8125rem;color:rgb(var(--c-txt-muted)); }
.agente-lista-panel { width:19rem;max-height:24rem;overflow-y:auto;padding:0.375rem; }
.agente-lista-panel .agente-grupo + .agente-grupo { margin-top:0.375rem; }

.agente-main { display:flex;flex-direction:column;min-height:0;min-width:0;background:rgb(var(--c-card)); }

/* ---------- Cabecera ---------- */
.agente-header { display:flex;align-items:center;gap:0.5rem;min-height:3.25rem;padding:0.5rem 0.75rem 0.5rem var(--ag-pad);
    border-bottom:1px solid rgb(var(--c-stroke));flex-shrink:0; }
@media (max-width:767px) { .agente-app .agente-header { padding-left:0.5rem; } }
.agente-header-titulo { flex:1;min-width:0;font-size:0.9375rem;font-weight:600;letter-spacing:-0.01em;color:rgb(var(--c-txt));
    white-space:nowrap;overflow:hidden;text-overflow:ellipsis; }
.agente-header-acciones { display:flex;align-items:center;gap:0.125rem;flex-shrink:0; }
.agente-header-acciones form { display:contents; }
.agente-header-panel { min-height:3rem;padding:0.375rem 0.5rem 0.375rem 0.875rem;gap:0.5rem; }
.agente-header-panel .agente-header-titulo { font-size:0.875rem; }

/* Botón de ícono (cabeceras, acciones de mensajes). */
.agente-icono { position:relative;display:inline-flex;align-items:center;justify-content:center;width:2rem;height:2rem;flex-shrink:0;
    border-radius:0.5rem;color:rgb(var(--c-txt-muted));background:transparent;cursor:pointer;transition:background .12s,color .12s;
    list-style:none; }
.agente-icono::-webkit-details-marker { display:none; }
.agente-icono:hover, details[open] > .agente-icono { background:rgb(var(--c-muted-bg));color:rgb(var(--c-txt)); }
.agente-icono:focus-visible { outline:2px solid rgb(var(--c-primary) / .6);outline-offset:1px; }
.agente-icono-sm { width:1.75rem;height:1.75rem;border-radius:0.4375rem; }
.agente-icono-peligro:hover { color:rgb(var(--c-danger));background:rgb(var(--c-danger) / .1); }
.agente-icono.copiado { color:rgb(var(--c-success)); }

/* Tooltip simple: [data-tip] (abajo; data-tip-pos=izq lo alinea a la derecha del botón). */
[data-tip]::after { content:attr(data-tip);position:absolute;top:calc(100% + 6px);left:50%;transform:translate(-50%,-2px);z-index:50;
    padding:0.25rem 0.5rem;border-radius:0.375rem;white-space:nowrap;pointer-events:none;opacity:0;transition:opacity .12s,transform .12s;
    font-size:0.6875rem;font-weight:500;color:rgb(var(--c-card));background:rgb(var(--c-txt)); }
[data-tip][data-tip-pos=izq]::after { left:auto;right:0;transform:translateY(-2px); }
[data-tip]:hover::after, [data-tip]:focus-visible::after { opacity:1;transform:translate(-50%,0); }
[data-tip][data-tip-pos=izq]:hover::after { transform:none; }
details[open] > [data-tip]::after { display:none; }
.agente-header-acciones [data-tip]:last-child::after { left:auto;right:0;transform:translateY(-2px); }
.agente-header-acciones [data-tip]:last-child:hover::after { transform:none; }

.agente-aviso { display:flex;align-items:center;gap:0.4rem;margin:0.75rem var(--ag-pad) 0;padding:0.5rem 0.75rem;border-radius:0.5rem;
    font-size:0.8125rem;background:var(--tone-amber-bg);color:var(--tone-amber-fg); }
.agente-aviso[hidden] { display:none; }

/* ---------- Mensajes ---------- */
.agente-mensajes { flex:1;min-height:0;overflow-y:auto;overflow-x:hidden;display:flex;flex-direction:column;gap:1.5rem;
    padding:1.5rem max(var(--ag-pad), calc((100% - var(--ag-col)) / 2)) 1.5rem;scroll-padding-bottom:1.5rem; }
.agente-msg { display:flex;min-width:0;max-width:100%; }
.agente-msg > * { min-width:0; }

.agente-user { flex-direction:column;align-items:flex-end;gap:0.25rem; }
.agente-burbuja { max-width:80%;padding:0.625rem 0.875rem;border-radius:1.125rem 1.125rem 0.375rem 1.125rem;
    background:rgb(var(--c-muted-bg));color:rgb(var(--c-txt));font-size:0.875rem;line-height:1.55;white-space:pre-wrap;overflow-wrap:anywhere; }
.agente-hora { font-size:0.6875rem;color:rgb(var(--c-txt-light));font-variant-numeric:tabular-nums;opacity:0;transition:opacity .15s; }
.agente-msg:hover .agente-hora { opacity:1; }
.agente-user .agente-hora { padding-right:0.375rem; }

.agente-asist { gap:0.75rem;align-items:flex-start; }
.agente-avatar { display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:1.75rem;height:1.75rem;border-radius:9999px;
    color:rgb(var(--c-primary));background:rgb(var(--c-primary) / .1);box-shadow:inset 0 0 0 1px rgb(var(--c-primary) / .18); }
.agente-avatar-sm { width:1.5rem;height:1.5rem; }
.agente-msg-cuerpo { flex:1;display:flex;flex-direction:column;gap:0.75rem;min-width:0; }
.agente-msg-cab { display:flex;align-items:baseline;gap:0.5rem;height:1.75rem;line-height:1.75rem;margin-bottom:-0.5rem; }
.agente-nombre { font-size:0.8125rem;font-weight:600;color:rgb(var(--c-txt)); }
.agente-msg-acciones { display:flex;gap:0.125rem;margin:-0.5rem 0 0 -0.375rem;opacity:0;transition:opacity .15s; }
.agente-asist:hover .agente-msg-acciones, .agente-asist:last-child .agente-msg-acciones, .agente-msg-acciones:focus-within { opacity:1; }
.agente-ocupado .agente-asist:last-child .agente-msg-acciones { visibility:hidden; }
@media (hover:none) { .agente-msg-acciones, .agente-hora { opacity:1; } }

.agente-error-linea { display:flex;align-items:flex-start;gap:0.375rem;font-size:0.8125rem;line-height:1.4;color:rgb(var(--c-danger)); }
.agente-error-linea svg { flex-shrink:0;margin-top:0.125rem; }

/* Estado vacío. */
.agente-vacio { margin:auto;width:100%;max-width:36rem;display:flex;flex-direction:column;align-items:center;text-align:center;padding:1rem 0; }
.agente-vacio-logo { display:inline-flex;align-items:center;justify-content:center;width:2.75rem;height:2.75rem;border-radius:0.875rem;
    color:rgb(var(--c-primary));background:rgb(var(--c-primary) / .1);box-shadow:inset 0 0 0 1px rgb(var(--c-primary) / .18); }
.agente-vacio-titulo { margin-top:1rem;font-size:1.375rem;font-weight:600;letter-spacing:-0.02em;color:rgb(var(--c-txt)); }
.agente-vacio-texto { margin-top:0.375rem;max-width:28rem;font-size:0.875rem;line-height:1.55;color:rgb(var(--c-txt-muted)); }
.agente-sugerencias { margin-top:1.5rem;width:100%;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0.5rem; }
.agente-sugerencia { display:flex;align-items:flex-start;gap:0.625rem;padding:0.75rem 0.875rem;border-radius:0.75rem;text-align:left;
    font-size:0.8125rem;line-height:1.45;color:rgb(var(--c-txt-2));background:rgb(var(--c-card));border:1px solid rgb(var(--c-stroke));
    cursor:pointer;transition:background .15s,border-color .15s,box-shadow .15s; }
.agente-sugerencia svg { flex-shrink:0;margin-top:0.0625rem;color:rgb(var(--c-txt-light));transition:color .15s; }
.agente-sugerencia:hover { background:rgb(var(--c-subtle));border-color:rgb(var(--c-stroke-strong));box-shadow:0 1px 3px rgb(15 23 42 / .05); }
.agente-sugerencia:hover svg { color:rgb(var(--c-primary)); }
.agente-panel .agente-sugerencias, .agente-panel .agente-vacio-titulo { }
.agente-panel .agente-vacio-titulo { font-size:1.125rem; }
.agente-panel .agente-sugerencias { grid-template-columns:minmax(0,1fr); }
@media (max-width:560px) { .agente-sugerencias { grid-template-columns:minmax(0,1fr); } }

/* ---------- Caja de texto ---------- */
.agente-form { flex-shrink:0;padding:0.25rem max(var(--ag-pad), calc((100% - var(--ag-col)) / 2)) 0.75rem;background:rgb(var(--c-card));
    position:relative; }
.agente-form::before { content:'';position:absolute;left:0;right:0;bottom:100%;height:1.25rem;pointer-events:none;
    background:linear-gradient(to bottom, rgb(var(--c-card) / 0), rgb(var(--c-card))); }
.agente-composer { position:relative;display:flex;align-items:flex-end;gap:0.5rem;padding:0.5rem 0.5rem 0.5rem 0.875rem;
    border:1px solid rgb(var(--c-stroke-strong));border-radius:1.125rem;background:rgb(var(--c-card));
    box-shadow:0 1px 2px rgb(15 23 42 / .04), 0 4px 16px -6px rgb(15 23 42 / .08);transition:border-color .15s,box-shadow .15s; }
.agente-composer:focus-within { border-color:rgb(var(--c-primary) / .55);
    box-shadow:0 0 0 3px rgb(var(--c-primary) / .12), 0 4px 16px -6px rgb(15 23 42 / .1); }
.agente-composer textarea { flex:1;min-width:0;min-height:2.25rem;max-height:13rem;resize:none;padding:0.4375rem 0;margin:0;
    border:0 !important;outline:0 !important;box-shadow:none !important;background:transparent !important;border-radius:0;
    font:inherit;font-size:0.9375rem;line-height:1.375rem;color:rgb(var(--c-txt));overflow-y:hidden; }
.agente-composer textarea::placeholder { color:rgb(var(--c-txt-light)); }
.agente-enviar { position:relative;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:2.25rem;height:2.25rem;
    border-radius:0.75rem;color:#fff;background:rgb(var(--c-primary));cursor:pointer;transition:background .15s,opacity .15s,transform .1s; }
.agente-enviar:hover:not(:disabled) { background:rgb(var(--c-primary-dark)); }
.agente-enviar:active:not(:disabled) { transform:scale(.95); }
.agente-enviar:disabled { cursor:default;background:rgb(var(--c-stroke-strong));color:rgb(var(--c-txt-light)); }
.agente-enviar:focus-visible { outline:2px solid rgb(var(--c-primary) / .6);outline-offset:2px; }
.agente-spinner { display:none;width:1rem;height:1rem;border-radius:9999px;border:2px solid currentColor;border-right-color:transparent;
    animation:agente-giro .7s linear infinite; }
.agente-form.ocupado .agente-enviar { background:rgb(var(--c-primary) / .14);color:rgb(var(--c-primary)); }
.agente-form.ocupado .agente-enviar-icono { display:none; }
.agente-form.ocupado .agente-spinner { display:block; }
.agente-hint { margin-top:0.4375rem;text-align:center;font-size:0.6875rem;color:rgb(var(--c-txt-light)); }
.agente-hint kbd { font:inherit;font-weight:500;color:rgb(var(--c-txt-muted)); }
@media (hover:none) { .agente-hint { display:none; } .agente-form { padding-bottom:max(0.75rem, env(safe-area-inset-bottom)); } }
@keyframes agente-giro { to { transform:rotate(360deg); } }

/* ---------- Markdown (ya saneado en el servidor) ---------- */
.agente-md { font-size:0.9375rem;line-height:1.65;color:rgb(var(--c-txt));overflow-wrap:anywhere; }
.agente-md:empty { display:none; }
.agente-md.escribiendo { white-space:pre-wrap; }
.agente-md.escribiendo::after { content:'';display:inline-block;width:0.5rem;height:1.05em;margin-left:1px;vertical-align:-0.15em;
    border-radius:1px;background:rgb(var(--c-txt-2));animation:agente-parpadeo 1s steps(2) infinite; }
/* Antes del primer texto: tres puntos. */
.agente-md.escribiendo:empty { display:flex;gap:4px;height:1.5rem;align-items:center; }
.agente-md.escribiendo:empty::after { content:none; }
.agente-md.escribiendo:empty::before { content:'';width:6px;height:6px;border-radius:9999px;background:rgb(var(--c-txt-light));
    box-shadow:10px 0 0 rgb(var(--c-txt-light)), 20px 0 0 rgb(var(--c-txt-light));animation:agente-puntos 1.2s ease-in-out infinite; }
@keyframes agente-puntos { 0%,100% { opacity:.35; } 50% { opacity:1; } }
.agente-md.agente-error { color:rgb(var(--c-danger)); }
.agente-md > * + * { margin-top:0.75rem; }
.agente-md > :is(h1,h2,h3,h4,h5,h6) { margin-top:1.25rem;font-weight:600;letter-spacing:-0.01em;line-height:1.35;color:rgb(var(--c-txt)); }
.agente-md > :is(h1,h2,h3,h4,h5,h6):first-child { margin-top:0; }
.agente-md h1 { font-size:1.125rem; }
.agente-md h2 { font-size:1.0625rem; }
.agente-md h3 { font-size:1rem; }
.agente-md h4, .agente-md h5, .agente-md h6 { font-size:0.9375rem; }
.agente-md > :is(h1,h2,h3,h4,h5,h6) + * { margin-top:0.375rem; }
.agente-md ul { list-style:disc;padding-left:1.375rem; }
.agente-md ol { list-style:decimal;padding-left:1.375rem; }
.agente-md li + li { margin-top:0.25rem; }
.agente-md li::marker { color:rgb(var(--c-txt-light)); }
.agente-md strong { font-weight:600; }
.agente-md a { color:rgb(var(--c-primary));text-decoration:underline;text-decoration-color:rgb(var(--c-primary) / .35);text-underline-offset:2px; }
.agente-md a:hover { text-decoration-color:currentColor; }
.agente-md blockquote { padding-left:0.875rem;border-left:3px solid rgb(var(--c-stroke-strong));color:rgb(var(--c-txt-2)); }
.agente-md hr { border:0;border-top:1px solid rgb(var(--c-stroke)); }
.agente-md :not(pre) > code { font-family:'Geist Mono',ui-monospace,monospace;font-size:0.84em;padding:0.125em 0.375em;border-radius:0.3125rem;
    background:rgb(var(--c-muted-bg));color:rgb(var(--c-txt));border:1px solid rgb(var(--c-stroke)); }
.agente-md pre { overflow-x:auto;max-width:100%;overflow-wrap:normal; }

/* Tablas: contenedor con borde, scroll horizontal y cabecera fija. */
.agente-md .md-tabla { max-width:100%;max-height:26rem;overflow:auto;border:1px solid rgb(var(--c-stroke));border-radius:0.625rem; }
.agente-md table { border-collapse:separate;border-spacing:0;min-width:100%;font-size:0.8125rem;line-height:1.45; }
.agente-md th, .agente-md td { padding:0.5rem 0.75rem;text-align:left;vertical-align:top;border-bottom:1px solid rgb(var(--c-stroke));
    overflow-wrap:break-word;min-width:5rem;max-width:22rem; }
.agente-md th { position:sticky;top:0;z-index:1;background:rgb(var(--c-subtle));font-weight:600;font-size:0.75rem;color:rgb(var(--c-txt-2));
    white-space:nowrap; }
.agente-md tbody tr:last-child td { border-bottom:0; }
.agente-md tbody tr:hover td { background:rgb(var(--c-subtle) / .7); }

/* Bloques de código (markdown y script): cabecera con lenguaje + copiar. */
.agente-code { max-width:100%;border:1px solid rgb(var(--c-stroke));border-radius:0.625rem;overflow:hidden;background:rgb(var(--c-subtle)); }
.agente-code-h { display:flex;align-items:center;gap:0.25rem;height:2.125rem;padding:0 0.375rem 0 0.875rem;
    border-bottom:1px solid rgb(var(--c-stroke));background:rgb(var(--c-muted-bg) / .6); }
.agente-code-h > span:first-child { flex:1;font-family:'Geist Mono',ui-monospace,monospace;font-size:0.6875rem;color:rgb(var(--c-txt-muted)); }
.agente-code-btn { display:inline-flex;align-items:center;gap:0.3125rem;height:1.625rem;padding:0 0.5rem;border-radius:0.375rem;
    font-size:0.75rem;font-weight:500;color:rgb(var(--c-txt-muted));cursor:pointer;transition:background .12s,color .12s; }
.agente-code-btn:hover { background:rgb(var(--c-card));color:rgb(var(--c-txt)); }
.agente-code-btn.copiado { color:rgb(var(--c-success)); }
.agente-code pre, .agente-md .agente-code pre { margin:0;padding:0.75rem 0.875rem;overflow:auto;max-height:24rem;background:transparent;border:0;border-radius:0;
    font-family:'Geist Mono',ui-monospace,monospace;font-size:0.78rem;line-height:1.6;white-space:pre;color:rgb(var(--c-txt)); }
.agente-md pre:not(.agente-code pre) { padding:0.75rem 0.875rem;border-radius:0.625rem;background:rgb(var(--c-subtle));border:1px solid rgb(var(--c-stroke));
    font-family:'Geist Mono',ui-monospace,monospace;font-size:0.78rem; }
@keyframes agente-parpadeo { 50% { opacity:0; } }

/* ---------- Chips de las tools ---------- */
.agente-tools { display:flex;flex-wrap:wrap;gap:0.375rem; }
.agente-tools:empty { display:none; }
.agente-tool { max-width:100%;font-size:0.75rem; }
.agente-tool[open] { flex-basis:100%; }
.agente-tool summary { display:inline-flex;align-items:center;gap:0.375rem;max-width:100%;height:1.75rem;padding:0 0.5rem 0 0.4375rem;
    border:1px solid rgb(var(--c-stroke));border-radius:9999px;background:rgb(var(--c-subtle));cursor:pointer;list-style:none;
    color:rgb(var(--c-txt-2));transition:background .12s,border-color .12s; }
.agente-tool summary:hover { background:rgb(var(--c-muted-bg));border-color:rgb(var(--c-stroke-strong)); }
.agente-tool summary::-webkit-details-marker { display:none; }
.agente-tool-nombre { font-weight:500;white-space:nowrap; }
.agente-tool-resumen { color:rgb(var(--c-txt-muted));white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:16rem; }
.agente-tool-resumen[hidden] { display:none; }
.agente-tool-resumen::before { content:'·';margin-right:0.375rem;color:rgb(var(--c-txt-light)); }
.agente-tool-chev { flex-shrink:0;color:rgb(var(--c-txt-light));transition:transform .15s; }
.agente-tool[open] .agente-tool-chev { transform:rotate(180deg); }
/* Estado: ✓ verde, ✕ rojo, girando mientras corre. */
.agente-tool-estado { position:relative;flex-shrink:0;width:0.875rem;height:0.875rem;border-radius:9999px;background:rgb(var(--c-success) / .16); }
.agente-tool-estado::after { content:'';position:absolute;left:0.3rem;top:0.16rem;width:0.25rem;height:0.42rem;
    border:solid rgb(var(--c-success));border-width:0 1.5px 1.5px 0;transform:rotate(45deg); }
.agente-tool[data-estado=error] .agente-tool-estado { background:rgb(var(--c-danger) / .14); }
.agente-tool[data-estado=error] .agente-tool-estado::after { content:'×';left:0;top:0;width:100%;height:100%;border:0;transform:none;
    color:rgb(var(--c-danger));font-size:0.75rem;font-weight:700;line-height:0.875rem;text-align:center; }
.agente-tool[data-estado=corriendo] .agente-tool-estado { background:none;border:1.5px solid rgb(var(--c-primary) / .25);
    border-top-color:rgb(var(--c-primary));animation:agente-giro .7s linear infinite; }
.agente-tool[data-estado=corriendo] .agente-tool-estado::after { content:none; }
.agente-tool-cuerpo { margin-top:0.375rem;padding:0.5rem 0.75rem 0.75rem;border:1px solid rgb(var(--c-stroke));border-radius:0.625rem;
    background:rgb(var(--c-subtle)); }
.agente-tool-label { margin-top:0.5rem;margin-bottom:0.25rem;font-size:0.6875rem;font-weight:600;text-transform:uppercase;letter-spacing:.03em;
    color:rgb(var(--c-txt-muted)); }
.agente-tool-label:first-child { margin-top:0; }
.agente-tool-label code { margin-left:0.25rem;text-transform:none;letter-spacing:0;font-weight:500;font-family:'Geist Mono',ui-monospace,monospace;
    color:rgb(var(--c-txt-light)); }
.agente-tool pre { max-height:14rem;overflow:auto;padding:0.5rem 0.625rem;border-radius:0.4375rem;background:rgb(var(--c-card));
    border:1px solid rgb(var(--c-stroke));white-space:pre-wrap;overflow-wrap:anywhere;
    font-family:'Geist Mono',ui-monospace,monospace;font-size:0.7rem;line-height:1.55;color:rgb(var(--c-txt-2)); }

/* ---------- Tarjetas (lote, propuesta, CSV, script, completar) ---------- */
.agente-tarjetas { display:flex;flex-direction:column;gap:0.75rem; }
.agente-tarjetas:empty { display:none; }
.agente-tarjeta { min-width:0;max-width:100%;border:1px solid rgb(var(--c-stroke));border-radius:var(--ag-r);background:rgb(var(--c-card));
    font-size:0.8125rem;overflow:hidden;overflow-wrap:anywhere;box-shadow:0 1px 2px rgb(15 23 42 / .04); }
.agente-tarjeta-h { display:flex;align-items:center;gap:0.75rem;min-width:0;padding:0.75rem 0.875rem; }
.agente-tarjeta-h > .badge, .agente-tarjeta-h > .btn { flex-shrink:0; }
.agente-tarjeta-icono { display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:2rem;height:2rem;border-radius:0.5rem;
    color:rgb(var(--c-primary));background:rgb(var(--c-primary) / .1); }
.agente-tarjeta-icono-verde { color:var(--tone-green-fg);background:var(--tone-green-bg); }
.agente-tarjeta-icono-gris { color:rgb(var(--c-txt-muted));background:rgb(var(--c-muted-bg)); }
.agente-tarjeta-tit { flex:1;min-width:0;display:flex;flex-direction:column;line-height:1.35; }
.agente-tarjeta-tit strong { font-size:0.875rem;font-weight:600;color:rgb(var(--c-txt));white-space:nowrap;overflow:hidden;text-overflow:ellipsis; }
.agente-tarjeta-sub { font-size:0.75rem;color:rgb(var(--c-txt-muted));white-space:nowrap;overflow:hidden;text-overflow:ellipsis; }
a.agente-tarjeta-sub-link { color:rgb(var(--c-primary)); }
a.agente-tarjeta-sub-link:hover { text-decoration:underline; }
.agente-tarjeta-b { display:flex;flex-direction:column;gap:0.625rem;padding:0 0.875rem 0.875rem; }
.agente-tarjeta-label { font-size:0.75rem;font-weight:500;color:rgb(var(--c-txt-muted)); }
.agente-tarjeta-label + .agente-stats { margin-top:-0.25rem; }
.agente-tarjeta-nota { display:flex;align-items:flex-start;gap:0.375rem;font-size:0.75rem;line-height:1.5;color:rgb(var(--c-txt-muted)); }
.agente-tarjeta-nota svg { flex-shrink:0;margin-top:0.125rem; }
.agente-stats { display:grid;grid-template-columns:repeat(auto-fit,minmax(5.5rem,1fr));gap:0.375rem; }
.agente-stats > div { display:flex;flex-direction:column;padding:0.5rem 0.625rem;border-radius:0.5rem;background:rgb(var(--c-subtle));
    border:1px solid rgb(var(--c-stroke)); }
.agente-stats b { font-size:1.0625rem;font-weight:600;line-height:1.3;font-variant-numeric:tabular-nums;color:rgb(var(--c-txt)); }
.agente-stats span { font-size:0.6875rem;color:rgb(var(--c-txt-muted)); }
.agente-stats .agente-stat-bien b { color:var(--tone-green-fg); }
.agente-stats .agente-stat-info b { color:var(--tone-blue-fg); }
.agente-stats .agente-stat-mal b { color:var(--tone-red-fg); }
.agente-tarjeta-errores { font-size:0.75rem;color:rgb(var(--c-danger));list-style:disc;padding-left:1.1rem; }
.agente-tarjeta-tabla { max-width:100%;max-height:16rem;overflow:auto;border:1px solid rgb(var(--c-stroke));border-radius:0.5rem; }
.agente-tarjeta-tabla table { width:100%;border-collapse:separate;border-spacing:0;font-size:0.75rem; }
.agente-tarjeta-tabla th, .agente-tarjeta-tabla td { padding:0.4375rem 0.625rem;border-bottom:1px solid rgb(var(--c-stroke));text-align:left;vertical-align:top; }
.agente-tarjeta-tabla tbody tr:last-child td { border-bottom:0; }
.agente-tarjeta-tabla th { position:sticky;top:0;z-index:1;background:rgb(var(--c-subtle));font-weight:600;color:rgb(var(--c-txt-2)); }
.agente-tarjeta-datos { display:grid;grid-template-columns:auto 1fr;gap:0.25rem 1rem;font-size:0.8125rem; }
.agente-tarjeta-datos dt { color:rgb(var(--c-txt-muted)); }
.agente-tarjeta-codigo { max-height:20rem; }
/* Una línea de código larga scrollea adentro de la tarjeta; no la ensancha ni se sale del borde. */
.agente-tarjeta-b, .agente-tarjeta .agente-code { min-width:0;max-width:100%; }
.agente-tarjeta .agente-code { overflow:hidden; }
.agente-tarjeta .agente-code pre { min-width:0;max-width:100%;overflow-x:auto;overflow-y:auto; }
.agente-tarjeta .agente-code pre code { display:block;width:max-content;min-width:100%; }
.agente-tarjeta-pie { display:flex;flex-wrap:wrap;align-items:center;gap:0.5rem;padding:0.625rem 0.875rem;
    border-top:1px solid rgb(var(--c-stroke));background:rgb(var(--c-subtle)); }
.agente-tarjeta-sep { flex:1; }
.agente-tarjeta-link { display:inline-flex;align-items:center;gap:0.3125rem;font-size:0.75rem;font-weight:500;color:rgb(var(--c-txt-muted)); }
.agente-tarjeta-link:hover { color:rgb(var(--c-primary)); }
.agente-tarjeta-pie .btn { height:2rem;gap:0.375rem; }
.agente-tarjeta-pie .btn-ghost { color:rgb(var(--c-txt-2)); }
.agente-tarjeta .btn:disabled { opacity:.5;cursor:default; }
.agente-tarjeta .btn.cargando { opacity:.7;cursor:progress; }
.agente-tarjeta > .agente-error-linea { padding:0 0.875rem 0.75rem; }
.agente-tarjeta-pie + .agente-error-linea { padding-top:0.625rem;background:rgb(var(--c-subtle)); }

/* ---------- Chip de contexto (clientes con los que trabaja la conversación) ---------- */
.agente-contexto { display:flex;align-items:center;gap:0.375rem;flex-shrink:0;min-width:0;
    margin:0.5rem max(var(--ag-pad), calc((100% - var(--ag-col)) / 2)) 0;padding:0.3125rem 0.625rem;
    border:1px solid rgb(var(--c-stroke));border-radius:9999px;background:rgb(var(--c-primary) / .06);
    font-size:0.8125rem;color:rgb(var(--c-txt-muted));align-self:flex-start; }
.agente-contexto[hidden] { display:none; }
.agente-contexto svg { flex-shrink:0;color:rgb(var(--c-primary)); }
.agente-contexto [data-contexto-texto] { color:rgb(var(--c-txt));white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0; }

/* ---------- Panel acoplado ---------- */
/* A la derecha, debajo de la barra superior (la barra queda siempre entera): tapa el contenido en vez
   de empujarlo. En móvil ocupa toda la pantalla. */
.agente-panel { --ag-col: 100%; --ag-pad: 1rem;
    position:fixed;top:3.5rem;right:0;bottom:0;width:28rem;max-width:100vw;z-index:35;
    background:rgb(var(--c-card));border-left:1px solid rgb(var(--c-stroke));box-shadow:var(--shadow-pop); }
.agente-panel[hidden] { display:none; }
.agente-panel > * { min-width:0; }
.agente-panel-cuerpo { display:flex;flex-direction:column;height:100%;min-height:0; }
.agente-panel .agente-mensajes { gap:1.25rem;padding-top:1.25rem; }
.agente-panel .agente-asist { gap:0.625rem; }
.agente-panel .agente-avatar:not(.agente-avatar-sm) { width:1.5rem;height:1.5rem; }
.agente-panel .agente-avatar:not(.agente-avatar-sm) svg { width:0.875rem;height:0.875rem; }
.agente-panel .agente-msg-cab { height:1.5rem;line-height:1.5rem; }
.agente-panel .agente-md { font-size:0.875rem;line-height:1.6; }
.agente-panel .agente-burbuja { max-width:85%;font-size:0.8125rem; }
.agente-panel .agente-composer textarea { font-size:0.875rem; }
.agente-panel .agente-hint { display:none; }
.agente-panel .agente-form { padding-bottom:0.875rem; }
.agente-historial { position:relative; }
[data-agente-toggle][aria-pressed=true] { background:rgb(var(--c-primary) / .12);color:rgb(var(--c-primary)); }
