:root{--fondo:#f5f6f8;--panel:#fff;--texto:#1d2330;--suave:#687083;--borde:#dde1e7;--primario:#2457d6;--ok:#1f8a4c;--espera:#b7791f;--error:#c0392b}*{box-sizing:border-box}body{background:var(--fondo);color:var(--texto);margin:0;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif}.contenedor{flex-direction:column;max-width:860px;min-height:100vh;margin:0 auto;padding:16px;display:flex}header{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:12px;display:flex}header h1{margin:0;font-size:1.4rem}header p{color:var(--suave);margin:4px 0 12px;font-size:.9rem}.mensajes{flex-direction:column;flex:1;gap:12px;padding-bottom:16px;display:flex}.vacio,.pensando{color:var(--suave);font-style:italic}.mensaje{background:var(--panel);border:1px solid var(--borde);border-radius:10px;padding:10px 14px}.mensaje.usuario{background:#e9f0ff;border-color:#c9d8fb;align-self:flex-end;max-width:85%}.autor{color:var(--suave);margin-bottom:4px;font-size:.75rem;font-weight:600}.texto{white-space:pre-wrap;margin:4px 0;line-height:1.45}.markdown{line-height:1.5;overflow-x:auto}.markdown>:first-child{margin-top:4px}.markdown>:last-child{margin-bottom:4px}.markdown p{margin:6px 0}.markdown ul,.markdown ol{margin:6px 0;padding-left:22px}.markdown code{background:#f0f2f5;border-radius:4px;padding:1px 4px;font-family:ui-monospace,monospace;font-size:.85em}.markdown pre{background:#f0f2f5;border-radius:6px;padding:8px;overflow-x:auto}.markdown pre code{background:0 0;padding:0}.markdown table{border-collapse:collapse;margin:8px 0;font-size:.9rem}.markdown th,.markdown td{border:1px solid var(--borde);text-align:left;padding:6px 10px}.markdown th{background:#f0f2f5}.tarjeta{border:1px solid var(--borde);border-left:4px solid var(--suave);background:#fafbfc;border-radius:8px;margin:8px 0;padding:8px 12px}.tarjeta.ok{border-left-color:var(--ok)}.tarjeta.espera{border-left-color:var(--espera);background:#fffaf0}.tarjeta.error{border-left-color:var(--error)}.tarjeta-cabecera{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;display:flex}.herramienta{font-family:ui-monospace,monospace;font-weight:600}.estado{background:#eceff3;border-radius:999px;padding:2px 8px;font-size:.75rem}.estado.ok{color:var(--ok);background:#e3f4ea}.estado.espera{color:var(--espera);background:#fdf0d9}.estado.error{color:var(--error);background:#fbe5e2}.etiqueta{text-transform:uppercase;color:var(--suave);margin-top:8px;font-size:.72rem}.json{background:#f0f2f5;border-radius:6px;margin:4px 0;padding:8px;font-size:.8rem;overflow-x:auto}.error-texto,.error-global{color:var(--error);font-size:.9rem}.mensaje.confirmacion-pendiente{border-color:var(--espera);box-shadow:0 0 0 2px #fdf0d9}.resumen{margin-top:6px;font-size:.9rem}.nota{color:var(--espera);margin-top:6px;font-size:.85rem}details{margin-top:6px;font-size:.85rem}summary{cursor:pointer;color:var(--suave)}.confirmacion{background:#fffaf0;border:1px solid #f3d9a4;border-radius:8px;margin-top:10px;padding:10px 12px}.confirmacion p{margin:4px 0}.motivo{color:var(--suave);font-size:.85rem}.botones{gap:8px;margin-top:6px;display:flex}button{cursor:pointer;background:var(--primario);color:#fff;border:none;border-radius:8px;padding:8px 16px;font-size:.95rem}button:disabled{opacity:.5;cursor:not-allowed}button.confirmar{background:var(--ok)}button.cancelar{background:var(--error)}button.secundario{color:var(--texto);background:#eceff3}.entrada{background:var(--fondo);gap:8px;padding:12px 0;display:flex;position:sticky;bottom:0}.entrada input{border:1px solid var(--borde);border-radius:8px;flex:1;padding:10px 12px;font-size:1rem}
